php unicode 16位
如何在php中将16位unicode字符附加到字符串中php unicode 16位,php,unicode,character-encoding,Php,Unicode,Character Encoding,如何在php中将16位unicode字符附加到字符串中 $test = "testing" . (U + 199F); 据我所知,\x只接受8位字符,即ascii $test = "testing" . "\u199F"; 发件人: PHP只支持256个字符集,因此不提供本机Unicode支持 我想您可以输入一个手动编码的UTF-8序列 您还可以将UCS4作为字节序列输入,并使用iconv(“UTF-32LE”、“UTF-8”、“$str”)将其转换为UTF-8以便进一步处理。您不能一次性将
$test = "testing" . (U + 199F);
据我所知,\x只接受8位字符,即ascii
$test = "testing" . "\u199F";
发件人:
PHP只支持256个字符集,因此不提供本机Unicode支持
我想您可以输入一个手动编码的UTF-8序列
您还可以将UCS4作为字节序列输入,并使用iconv(“UTF-32LE”、“UTF-8”、“$str”)将其转换为UTF-8以便进一步处理。您不能一次性将代码点作为32位代码单元输入。Unicode字符在PHP(*)中不直接存在,但您可以处理包含字节的字符串,这些字节表示UTF-8编码中的字符。以下是将数字字符代码点转换为UTF-8的一种方法:
function unichr($i) {
return iconv('UCS-4LE', 'UTF-8', pack('V', $i));
}
$test= 'testing'.unichr(0x199F);
(*:和“16位”Unicode字符根本不存在;Unicode的代码点远远超过U+FFFF。UTF-16中有16位的“代码单元”,但这是一种在PHP中不太可能遇到的丑陋编码。)因为unicode只是多字节,PHP只支持单字节,所以您可以使用多个单字节创建多字节字符:)
已经有了,根本不起作用,我相信php甚至不支持“\u”。仅仅通过传递文本字符?也可以在这里使用。另外,它不是16位Unicode字符。Unicode是21位。如果你认为Unicode是“2字节”,那么你有很多东西要学。并非如此。@Drake-unicode代码点从0运行到1114111(请参阅位于的unicode常见问题解答)。UTF-16使用单个16位对最常见的63k字符进行编码,并对其他1m码点使用16位(代理)对。
$test = "testing\x19\x9F";