【发布时间】:2019-09-14 21:52:33
【问题描述】:
所以我想解析 IDv3.4 文件。格式规范中有4种文本编码:ISO-8859-1、UTF-16 with BOM、UTF-16BE和UTF-8。我已经编写了可以获取字符串字节的代码。
我的问题是如何将UTF-16 with BOM 和UTF-16BE 字节打印到控制台。
还有一个重要条件:我只能使用 C 库。我不能使用 C++ 库。我什至不能使用第三方 C 库。
【问题讨论】:
-
无论您的代码做什么,您的终端窗口都可能不支持此功能。有些字符很难以等宽、半角字体正确显示。
-
但我无法检查它,因为我只是不知道可以打印 utf-16 字符串的函数。我认为 wprintf 可以做到,但它不能。
-
试试
putwchar。 -
取决于您的终端支持的内容——将 UTF-16 转换为它支持的内容并打印出来。既然您似乎对 UTF-8 没有问题,那么您的终端可能支持它(例如 Linux)。所以只需将 UTF-16 转换为 UTF-8 并打印出来,
-
问题不清楚,因为解析 ID3v2标签根本不需要解释文本。