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

发布网友 发布时间:2022-04-21 09:32

我来回答

1个回答

热心网友 时间:2023-11-09 01:36

由于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字节。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com