返回

utf 8-如何使用Perl pack将utf-16代理项对转换为utf-8?

发布时间:2022-06-10 17:49:24 177

我有输入字符串,其中包含一些字符为 UTF-16 格式并用“ \u”转义的文本。我试图在 Perl 中将所有字符串转换为 UTF-8。例如,字符串'Alice & Bob & Carol'可能在输入中被格式化为:

'Alice \u0026 Bob \u0026 Carol'

为了进行我想要的转换,我正在做...:

$str =~ s/\\u([A-Fa-f0-9]{4})/pack("U", hex($1))/eg;

...在我输入包含 UTF-16 代理对的字符串之前效果很好,例如:

'Alice \ud83d\ude06 Bob'

如何修改pack用于处理 UTF-16 代理对的上述代码?我真的很想要一个pack无需使用任何其他库(JSON::XS、Encode 等)即可使用的解决方案。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像
相关帖子