假设我用西里尔文写了“俄语”这个词。这是下列十六进制数的等效值:

Русский

我的问题是:如何编写一个函数,它将从西里尔文中的“俄语”变为上面提到的十六进制值?对于单字节字符,这个函数也能工作吗?

最佳答案

〹项目称为html实体。在php中有一个函数可以创建这些:mb_encode_numericentity,它是Multibyte String扩展(Demo)的一部分:

$cyrillic = 'русский';

$encoding = 'UTF-8';
$convmap = array(0, 0xffff, 0, 0xffff);
$encoded = mb_encode_numericentity($cyrillic, $convmap, $encoding);

echo $encoded; # русский

但是:你需要知道你的西里尔字符串的编码。在本例中,我选择了UTF-8,根据它,您需要修改函数的$encoding参数和$convmap数组。

09-12 02:14