记事本里出现该文件含有Unicode格式的字符,当保存为ANSI编码的文本时,该字符将丢失。怎么回事啊??

没有高手么????????????

正常!因为ANSI编码并不包括所有字符,如果文档里有一些特殊符号或其他语言的文字时,就有可能丢失,这是正常的。

处理方法:(如果不想使字符丢失的话)

出现警告窗口时,点击“取消”。

从菜单中选择“保存”。保存文件时,有一个叫“编码”的选项,单击下拉列表选择“Unicode”,再点击“保存”即可。这样就能保存Unicode字符。(选“UTF-8”或“Unicode big endian”也可以,因为它们是Unicode的几种形式。)

追问

方法可以,但是每个文档都要这样你不觉得麻烦么,怎么设置默认就可以这样啊

追答

像记事本这样简单的程序,很难进行相关的设置。不要期望太高啦!
像Notepad++、Notepad2这样升级版的纯文本编辑软件或许可以设置。(我还没用过)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-10-20

由于ANSI编码不包括所有字符,所以文档里有一些特殊符号或其他语言的文字时,就可能导致字符丢失。

具体解决方法如下:

    出现警告窗口时,点击“取消”按钮,

    弹出一个“另存为”界面,在最下面的“编码”的选项中,单击下拉列表选择“Unicode”,然后点击“保存”按钮,这样就能保存Unicode字符。

    不过,编码类型选“UTF-8”或“Unicode big endian”都可以,它们是Unicode的几种形式。

拓展资料

ANSI 确实是遗留编码,在不同语言的系统中编码不同,这一部分在微软的术语中叫 code page。比如所谓 GBK 编码,实际上更多地被叫做 CP936。这个术语是从 IBM 早期的一些工作中继承下来的,现在也没改变。但是,代码页这个概念在引入更大的字符集时已经遇到了问题,比如当初 GBK 扩展到 GB18030 时,它无法自然地用同一个代码页解决问题,不得不使用非常复杂的映射技术在几个代码页中切换才最终达到目的。

Unicode里有几种方式:

    UTF-16BE/LE:UTF-16就是Windows模式的编码模式(Windows里说的Unicode一般都是指这种编码),用2个字节表示任意字符,注意:英文字符也占2个字节(变态不?),这种编码可以表示65536个字符,至于LE和BE,就是一个数值在内存/磁盘上的保存方式,比如一个编码0x8182,在磁盘上应该是0x81 0x82呢?还是0x82 0x81呢?就是高位是最先保存还是最后保存的问题,前者为BE,后者为LE。

    UTF-8:UTF-8则是网页比较流行的一种格式:用一个字节表示英文字符,用3个字节表示汉字,准确的说,UTF-8是用二进制编码的前缀,如果某个UTF-8的编码的第一个字节的最高二进制位是0,则这个编码占1字节,如果是110,则占2字节,如果是1110,则占3字节。

本回答被网友采纳
第2个回答  2011-07-07
很正常,你复制粘贴文字内容了吧!我们平时看到文字其实是需要把代码翻译成文字,代码和文字的对照情况就是编码。这个编码有好几种,如ANSI和UNICODE。有些文字在UNICODE里有,在ASNI里没有,当然出错啦!如果是一般的语句段落之类的,不会有太多偏僻字符的,直接确定就可以。
第3个回答  2015-12-27
Unicode和ANSI是两种不同的字符编码方式。Unicode(统一码、万国码、单一码)使用全16位元字元集来表示字符,而ANSI编码通常使用 0x80~0xFF 范围的 2 个字节(8位)来表示 1 个字符。对于字符来说ANSI以单字节存放英文字符,以双字节存放中文等字符,而Unicode下,英文和中文的字符都以双字节存放。有些Unicode字符无法用ANSI编码来表示,因此文件中含有Unicode格式的字符保存为ANSI编码的文本时,该Unicode字符将丢失或被错误表示。这样文本保存以后,再次打开将会发现里面少了一些内容或是会出现乱码。
第4个回答  2011-07-08
如果你使用的英文版的系统,那么你保存文件的时候如果其中有中文就选择UTF-8的格式保存就好了
相似回答