- 论坛徽章:
- 0
|
本帖最后由 rayj88 于 2014-11-05 08:45 编辑
我写了一个JS函数 chr2 企图模拟php chr()函数来处理unicode字串来输出字串"a大小b"。 PHP可以但是JS程序似乎有问题。请问高手JS端的程式出现什么问题了?
程序代码如下及输出如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="container">
<?php
$string5 = "" ;
$str_a = chr(97) ; // 97 代表 a
$string5 .= $str_a ; echo "php str=$string5----<br>" ;
$str_c1 = chr(229) ; // 229,164,167 是 ‘大’ 的utf-8 unicode
$string5 .= $str_c1 ; echo "php str=$string5----<br>" ;
$str_c2 = chr(164) ;
$string5 .= $str_c2 ; echo "php str=$string5----<br>" ;
$str_c3 = chr(167) ;
$string5 .= $str_c3 ; echo "php str=$string5----<br>" ;
$str_cs1 = chr(229) ; // 229,176,143 是 ‘小’ 的utf-8 unicode
$string5 .= $str_cs1 ; echo "php str=$string5----<br>" ;
$str_cs2 = chr(176) ;
$string5 .= $str_cs2 ; echo "php str=$string5----<br>" ;
$str_cs3 = chr(143) ;
$string5 .= $str_cs3 ; echo "php str=$string5----<br>" ;
$str_b= chr( 98 ) ; // 98 代表 b
$string5 .= $str_b ; echo "php str=$string5----<br>" ;
echo "<br><br>--------<br><br>" ;
?>
<script language = "JavaScript">
function chr2(codePt) {
if (codePt > 0xFFFF) {
codePt -= 0x10000;
return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
}
return String.fromCharCode(codePt);
}
var string5 = "" ;
var str_a = chr2(97) ; // 97 代表 a
string5 += str_a ; document.write( "js str="+string5+"---<br>" );
var str_c1 = chr2(229) ; // 229,164,167 是 ‘大’ 的utf-8 unicode
string5 += str_c1 ; document.write( "js str="+string5+"---<br>" );
var str_c2 = chr2(164) ;
string5 += str_c2 ; document.write( "js str="+string5+"---<br>" );
var str_c3 = chr2(167) ;
string5 += str_c3 ; document.write( "js str="+string5+"---<br>" );
var str_cs1 = chr2(229) ; // 229,176,143 是 ‘小’ 的utf-8 unicode
string5 += str_cs1 ; document.write( "js str="+string5+"---<br>" );
var str_cs2 = chr2(176) ;
string5 += str_cs2 ; document.write( "js str="+string5+"---<br>" );
var str_cs3 = chr2(143) ;
string5 += str_cs3 ; document.write( "js str="+string5+"---<br>" );
var str_b = chr2( 98 ) ; // 98 代表 b
string5 += str_b ; document.write( "js str="+string5+"---<br>" );
</script>
</div>
</body>
</html> |
|