如何将16位unicode字符附加到php
中的字符串$test = "testing" . (U + 199F);
从我看到的,\ x只需要8位字符,即ascii
答案 0 :(得分:0)
来自the manual:
PHP仅支持256个字符集,因此不提供本机Unicode支持。
我猜你可以输入手动编码的UTF-8序列。
您还可以输出UCS4作为字节序列,并使用iconv("UTF-32LE", "UTF-8", $str);
将其转换为UTF-8以进行进一步处理。您无法一次性将代码点输入为32位代码单元。
答案 1 :(得分:0)
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见面。)
答案 2 :(得分:0)
因为unicode只是多字节而PHP只支持单字节,所以你可以用多个单字节创建多字节字符:)
$test = "testing\x19\x9F";
答案 3 :(得分:-1)
尝试:
$test = "testing" . "\u199F";