如何在没有错误的情况下展示特殊的中文,韩语,日本角色
How to show special Chinese, Korean, Japanese characters without errors
我对中文,韩语,日语角色有问题。我正在使用ID3TAG lib c 来获取某些MP3文件的元数据。但是,某些文件名是韩语字符,它显示错误的标题名称。例如:
id3_utf16_t *tmp = id3_ucs4_utf16duplicate(id3_field_getstrings(f,0));
if (NULL != tmp)
{
str.append(QString::fromUtf16(tmp));
LOG << str;
}
Str的输出为:"³ª·Î ¸»ÇÒ °Í °°À¸¸é"
但是实际上,标题名称为:"나로 말할 것 같으면"
那么如何正确显示特殊字符?
谢谢
使用此网站,我将输出粘贴并转换为十六进制。然后将其转换为UTF-16LE。在那之后,它们是韩国角色,但不完全是您发布的角色。我认为韩国人有一种结合角色的方式。
编辑以删除错误的答案
如果解释为euc-kr字符串,输出是正确的。
# echo "³ª·Î ¸»ÇÒ °Í °°À¸¸é" | iconv -f utf8 -t latin1 | iconv -f EUC-KR -t utf8
나로 말할 것 같으면
实时演示
所以我对正在发生的事情的猜测如下:
- 日志文件被编码为EUC-KR(2字节编码)。
- 您正在使用一种认为是拉丁语1(1字节编码)的工具(编辑,终端等)来查看它。
为什么日志文件编码为EUC-KR?因为
tmp
实际上不是UTF-16中的,所以它在EUC-KR中。# printf 'xb3xaaxb7xce' | iconv -f EUC-KR -t utf-8 나로
QString
不能使用fromUtf16
正确转换这些字节。- 为什么
tmp
在EUC-KR中?我不知道。也许文本字段中的编码未设置或错误设置,因此您的库不知道如何解释。
相关文章:
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- C++:从英语到Pig拉丁语
- C++中的双边友语函数:如何使其编译?
- 英语到猪拉丁语在C++使用特定功能
- 罗马数字到阿拉伯语 (vinculum) - 读取字符串中的字符
- 概念可以与 CRTP 习语一起使用吗?
- 复制和交换习语和迭代器
- 如何在 DevC++ 上显示带有中文字母的行?
- 为什么当我做复制和交换习语时不调用我的复制构造函数?
- 漂亮的计数器习语的错误或格式错误的静态订单惨败?
- QT 和 JIRA Rest API: /rest/api/2/issue/createmeta 意外返回韩语的 iss
- VSCode C++调试文件名中包含中文字符的文件时插件损坏
- 如何使用 C++ 中的原语初始化类(如 std::字符串从 const char* 初始化)
- 如何将包含中文或韩语的字符串转换为十六进制/字节
- 如何在没有错误的情况下展示特殊的中文,韩语,日本角色
- 为什么获得的 MachineGuid 看起来不像 GUID,而是像韩语?
- c1xx:致命错误C1083:无法打开源文件-使用某些中文或爪哇语
- 韩语的区域设置名称是什么
- 将韩语单词分割成单独的音节 - C++/Python
- utf 8 - 将 UTF16(Windows wchar_t) 转换为 UTF8 C++ 非英语字母损坏(韩语)