php - 将(双字节)字符串转换为十六进制

标签 php utf-8 double-byte

假设我有一个用西里尔字母写的“俄语”这个词。这将是十六进制中的以下等价物:

Русский

我的问题是:如何编写一个从西里尔字母的“俄语”到上面的十六进制值的函数?这个相同的函数是否也适用于单字节字符?

最佳答案

东西被称为 HTML 实体。在 PHP 中有一个函数可以创建这些:mb_encode_numericentityDocs , 它是 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数组。

关于php - 将(双字节)字符串转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7014791/

相关文章:

php - 命名对象相同,但位于不同的命名空间中

php - 在动态内容页面中动态添加名称 anchor 标记

Oracle 神秘的 Unicode 代码点

HTML 差异工具 API

C++ ShiftJIS 到 UTF8 的转换

php - 注册的自定义帖子类型保存在 WordPress 数据库的哪个位置?

php - 优化/简化多层分类查询

php - 处理/删除 UTF-8 从右到左覆盖字符的最佳方法是什么?

php - 在 PHP 中将 ISO8859-1 转换为 UTF-8 时出现问题

MySQL:char_length(),俄语值错误