gpt4 book ai didi

c++ - Intra-Unicode "lean"编码转换器

转载 作者:搜寻专家 更新时间:2023-10-31 00:22:42 25 4
gpt4 key购买 nike

Windows 提供了编码转换函数(“MultiByteToWideChar”和“WideCharToMultiByte”),它们能够进行 UTF-8 与 UTF-16 之间的转换,等等。但我看到人们提供了自产的 30 到 40 行函数,这些函数声称还可以执行 UTF-8/UTF-16 编码转换。

我的问题是,这种微型转换器的可靠性如何?如此少量的代码能否处理诸如将 UTF-16 代理项对(如 )转换为 UTF-8 单个四字节序列(而不是错误地转换为一对三字节序列)之类的问题)?他们能否正确识别“未配对”的代理输入并提供错误信息?

简而言之,这么小的转换器只是玩具,还是可以当真?就此而言,为什么 unicode.org 似乎没有提供有关完成此类转换的算法的建议?

最佳答案

开源 ICU 库有 113 行代码用于 ucnv_fromUnicode_UTF8 (source/common/ucnv_u8.c)。包括错误检查、适当的代理处理、一些评论。如果您不喜欢命名约定,您应该只考虑使用其他东西。

关于c++ - Intra-Unicode "lean"编码转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3002084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com