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

时间:2011-05-10 12:27:37

标签: c++ utf-8 ansi

有没有一种跨平台的方式可以从UTF-8转换为拉丁/阿拉伯语,从拉丁语/阿拉伯语转换为使用C ++的UTF-8?

2 个答案:

答案 0 :(得分:3)

有像icu这样的库可用。但是Erik当然是对的:从Unicode到ISO 8859-6的往返将是有损的。 (是的,UTF-8是“Unicode”.UTF-16也是“Unicode”,只是针对相同的代码编号具有不同的位模式。如果您不知道,请参阅Joel Spolsky's text。或者如果你还没看过,这是很好的材料。)

答案 1 :(得分:0)

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