从JIS X 208到UNICODE的编码转换 如何在C++中转换JIS X 208编码字符串为Unicode?一个特定于VC++的答案会很有帮助
我发现理解困难的更大问题是日语字符的编码太多。JIS本身有很多版本,然后是Shift JIS。如果有人能用英语很好地解释这些问题,那就太好了 我仔细看了看。这确实列出了日语(JIS 0208-1990和0121-1990),但我想知道JIS 0208和JIS X 0208之间有什么区别。该项目包含许多从Unicode转换到Unicode的功能。它适用于大多数操作系统,包括Windows。它将处理几乎所有代码页之间的转换 据我所见,JIS X 0208和JIS 0208似乎是同一事物名称的两个变体,即实际代码页是相同的 wikipedia关于JIS 0208的文章,希望它能回答您的一些问题,因为它更深入地了解了JIS的历史,而且它的不同版本似乎已经过时并被取代了 是JIS X的编码,即将16位字符代码转换为8位表示的算法 我发现这个是从JIS到Unicode的,这个是从JIS X 0208到Unicode的从JIS X 208到UNICODE的编码转换 如何在C++中转换JIS X 208编码字符串为Unicode?一个特定于VC++的答案会很有帮助,c++,unicode,C++,Unicode,我发现理解困难的更大问题是日语字符的编码太多。JIS本身有很多版本,然后是Shift JIS。如果有人能用英语很好地解释这些问题,那就太好了 我仔细看了看。这确实列出了日语(JIS 0208-1990和0121-1990),但我想知道JIS 0208和JIS X 0208之间有什么区别。该项目包含许多从Unicode转换到Unicode的功能。它适用于大多数操作系统,包括Windows。它将处理几乎所有代码页之间的转换 据我所见,JIS X 0208和JIS 0208似乎是同一事物名称的两个变体
希望这能有所帮助。X表示。所有JIS标准都有一些分类,因此“JIS 0208”实际上只是用作“JIS X 0208”的缩写。“JIS X 0208”是字符集规范的名称(即,它用字符编号定义字符的抽象形状)。 本规范未定义如何对字符进行编码(即字节数组表示)。 (JIS X 0208、ISO-2022-JP、EUC-JP和Shift_JIS有三种主要编码。) 所以“JIS X 0208编码字符串”是不明确的。 如果您的意思是“CP932(这是Shift_JIS最广泛使用的变体)编码字符串”,则可以使用带有CP932的MultiByteToUnicode()Win32API作为第一个参数 JIS 0208和JIS X 0208可能相同(后者是规范的正确名称)
MSDN中的“0121-1990”必须是“0212-1990”的打字错误。它也是一种字符集规范,包含很少使用的(汉字)字符。0213不是对过时的0208的简单更新。它的扩展与实际部署的0208超集(如Windows代码页932)冲突。正因为如此(而且因为希望正确操作的系统正在转向Unicode而不是任何与JIS相关的系统),0213及其变体“Shift-JIS-2004”几乎没有被采用。如果你在现实世界中遇到“Shift JIS”,它可能真的是代码页932。谢谢澄清。谢谢大家:)