如何在 C 中打印 UTF-16 字符?
我有一个包含 UTF-16 字符的文件。我读取文件并可以将字符存储在 uint16_t 数组或 char 数组中(有更好的选择吗?)
但是我如何打印这些字符?
i have a file containing UTF-16 characters. i read in the file and can store the characters either in a uint16_t array or a char array (any better choice?)
But how do i print those characters?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我假设您想打印到
stdout
或stderr
。一种方法是使用 libiconv 将 UTF-16 转换为 UTF-32(也称为作为 UCS-4) 转换为宽字符字符串 (wchar_t
)。然后,您可以使用 wprintf 及其朋友来打印到标准流。I'm assuming you want to print to
stdout
orstderr
. One method would be to use libiconv to convert from UTF-16 to UTF-32 (also known as UCS-4) into a wide-character string (wchar_t
). You could then usewprintf
and friends to print to the standard streams.