Encoding 什么';s记事本中编码和转换之间的差异++;?

Encoding 什么';s记事本中编码和转换之间的差异++;?,encoding,character-encoding,notepad++,Encoding,Character Encoding,Notepad++,编码菜单具有utf-8中的Encode子菜单和记事本++中的转换为utf-8子菜单。它们之间有什么区别?简短版本: Encode in保留字节,并修改字符 Convert to保留字符,并修改字节 编码 encodein…指定如何解释字节。例如: 创建新文件UTF-8(无BOM),并插入字符ä。文件将包含字节c3a4。如果选择ANSI中的Encode,您将看到两个不同的字符,但底层字节仍然是相同的C3 A4 请注意,有时字节序列在所选编码中无效,Notepad++可能必须更改它 如果记事本

编码菜单具有utf-8中的
Encode
子菜单和记事本++中的
转换为utf-8
子菜单。它们之间有什么区别?

简短版本:

  • Encode in
    保留字节,并修改字符
  • Convert to
    保留字符,并修改字节

编码

encodein…
指定如何解释字节。例如:

创建新文件UTF-8(无BOM),并插入字符
ä
。文件将包含字节
c3a4
。如果选择ANSI中的
Encode
,您将看到两个不同的字符,但底层字节仍然是相同的
C3 A4

请注意,有时字节序列在所选编码中无效,Notepad++可能必须更改它

如果记事本++猜错了文件编码,通常使用
在…
中编码

转换

转换为…
尝试保持文本内容不变,但更改基础字节。例如:

创建新文件UTF-8(无BOM),并插入字符
ä
。选择Convert to ANSI,字符将保持不变,但字节已更改为
E4
。(如果字符集是
ISO 8859-1


如果您想更改文件编码,例如,使文件与其他程序兼容,通常使用转换。

我发现记事本++有时会转换字节,即使您只是更改编码。。。就像你打开一个UTF-8文件,然后选择“在UCS-2 LE BOM中编码”,你会发现字符没有改变,文件名左边的图标变成了红色,这意味着文件已经改变了…@JingHe是的,这是真的。这在不同Unicode编码之间的转换中尤其明显。有些编码需要字节顺序标记,而字节顺序标记不能在编码之间转换。因此,在这些情况下,Encode的工作原理与Convert非常相似。UTF-8中的Encode读取字节时,就好像它们是在UTF-8中编码的一样,这可能会改变您看到的字符。Convert to UTF-8读取字节并尝试将字节转换为有效的UTF-8编码字节,这将保持您看到的字符相同。