如何将 UTF-8 形式转换为拉丁语/阿拉伯语,反之亦然

How to convert form UTF-8 to Latin/Arabic and vice versa?

本文关键字:拉丁语 阿拉伯语 反之亦然 转换 UTF-8      更新时间:2023-10-16

是否有一种跨平台的方法可以在C++中从 UTF-8 转换为拉丁语/阿拉伯语以及从拉丁语/阿拉伯语转换为 UTF-8?

有像 ICU 这样的图书馆可用。但Erik当然是对的:从Unicode到ISO 8859-6的往返将是有损的。(是的,UTF-8 是"Unicode"。UTF-16也是"Unicode",只是对相同的代码号具有不同的位模式。如果你不知道,请参阅乔尔·斯波尔斯基的文字。或者如果你还没有读过它,它是很好的材料。

没有,但有一种跨平台的方法可以在wchar_t表示的 unicode(在 Windows 上为 16 位,在大多数其他平台上为 32 位)与系统中设置为区域设置字符编码的任何内容之间转换使用标准 C 库中的 wcstombs/mbstowcs例程或标准C++库中localecodecvt方面。wchar_t 之间的转换,其中每个元素是一个代码点和 utf-8 非常简单。因此,您可以从某处编写或复制一个例程,以在 utf-8 和 unicode 之间进行转换wchar_t并将其与 wcstombs/mbstowcs 结合使用。