中文(日语编码)

时间:2019-11-26 22:00:59

标签: encoding utf-8 cjk chinese-locale

这听起来像是一个愚蠢的问题。我在VS代码文本编辑器(默认为utf8)中将一些汉字输入到一个空文本文件中。然后,我将文件保存为日语编码:shift JIS,该文件显然不包括我键入的所有字符。

但是,在关闭文件之前,所有汉字均以VS代码正确显示。现在,我关闭文件并使用shift JIS编码重新打开文件后,几个字符显示为问号?。我猜这些是日语编码未涵盖的汉字吗?

此过程中发生了什么?无论如何,我可以“找回” ?中显示的汉字吗?我不太了解编码在这种情况下如何工作...

1 个答案:

答案 0 :(得分:0)

并非所有编码都涵盖所有字符。 (原则上可以使用Unicode编码,但即使它们还没有完全具备 的功能。)如果您将某些文本保存为不包含该文本中所有字符的编码,则 something 必须付出。

选项:

  • 您收到一条错误消息,
  • 一无所获
  • 无法包含的字符被静默删除,
  • 无法包含的字符将转换为其他字符(例如问号)。

一旦完成转换,数据将丢失,并且无法恢复。为什么不使用UTF-8或其他Unicode编码? (GB 18030可能是大量中文文本的最佳选择。)