|
1
2
|
|
|
2
2
在UTF-8、-16和-32之间转换是一个非常简单的过程。这很简单,因为它们都使用相同的“字符集”,只是使用不同的编码来表示每个代码点。 棘手的部分是转换成非UTF格式。MultiByteToWideChar可以做到这一点。一个15行的转换函数不能。 |
|
3
1
是的,生产质量功能可以这么短。我已经为UTF-8编写了全面、错误检查、防御、迂腐、可理解、防弹的转换;UTF-32和UTF-32到UTF-8,每行大约50行,带有注释(但不包括单元测试)。有更密集的编码样式,可能在30-40行中为每个函数执行相同的操作。还有一些快捷方式,您可以直接将UTF-8转码到UTF-16或从UTF-16转码到UTF-8,而不需要使用UTF-32。 |
|
4
1
你是正确的-大多数“复制/粘贴”例程,你可以在互联网上找到不执行有效性检查。 如果您想要一个执行这些检查的小型库,请看 UTF8-CPP |
|
|
5
0
Unicode网站上曾经有一个C格式的转换器示例 ftp://ftp.unicode.org/Public/PROGRAMS/CVTUTF/ 但它被移除了。我不知道为什么,因为这是非常有用的,并有一个非限制性的许可证-你会问他们。 它很小,我用过。我相信它处理代理对正确,但由于我没有在我面前的代码,我不能发誓它。我相信你可以在网上其他地方找到它的副本。 缺点是,如果您必须在非unicode字符集之间进行转换或转换,那么它就没有用了,因为它只在UTF变体之间进行转换。 |
|
AstralHex · 矩阵乘法代码工作不正常 8 月前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 8 月前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 8 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 9 月前 |