
1、工具→选项→常规→Web 选项→编码→“将此文档另存为”下拉框里选择您希望的编码方式,点击两次“确定”,最后保存。
2、Alt+X
指定的(十六进制)Unicode 字符代码对应的 Unicode 字符。例如,若要插入欧元货币符号(),请键入“20AC”,然后在按下 Alt 的同时按 X。
3、ALT+字符代码(数字键盘上)
指定的(十进制)ANSI 字符代码对应的 ANSI (ANSI 字符集:Microsoft Windows 使用的 8 位字符集,允许您使用键盘表示多达 256 个字符(0 到 255)。ASCII 字符集是 ANSI 集的子集。) 字符。例如,若要插入欧元符号,请在按下 Alt 的同时在数字键盘上按 0128。
#include <stdioh>
#include <WCHARh>
#include <Windowsh>
//windows默认是GBK码显示的,所以出现乱码;
char ToGBK(unsigned int ucode/unicode码,为四个字节/){
char Unicode_char=new char[5];
wsprintf(Unicode_char,"%wc",(wchar_t)ucode);
return Unicode_char;//返回gbk码
}
void main(){
/
0X4E00为汉字 "一"的UNICODE码;
0XD2BB为汉字"一"GBK码
0X963f为汉字"阿"的UNICODE码;
0XB0A2为汉字"阿"GBK码
/
char ch;
ch=ToGBK(0X4E00);
printf(ch);
unsigned char low=ch;//取汉字对应的内存数据
unsigned char high=(ch+1);
printf("%02X %02X ",low,high);//gbk码
delete ch;
ch=NULL;
}
不知你的文本来源是什么,如果不能直接保存,可以批量全部转换成UNICODE
估计你的文件都是gb2312或gbk, 推荐好用的工具Replace Pioneer 支持批量从任意编码转换成任意编码。以下是从gbk -> unicode的详细步骤:
第一步:选文件
1打开Tools->Batch Runner菜单
2点击Pick Files,用鼠标对需要处理的多个文件进行多选。
第二步:变换编码
1点击Change Encode按钮
2点击input encoding,设置成CN->gbk
3点击output encoding,设置成More Unicode->UTF-16
4点击start,完成
可以看出,Replace Pioneer可以实现70多种编码方式的任意互转
要想知道当前文件是什么编码,可以用菜单Tools->Encoding Detection 来完成,具体见:
>
Python文件里开头有coding:utf-8,则说明这个Python文件是Unicode编码。
在Python3中字符串是默认使用Unicode的,python2x则得用u来表示它是Unicode字符串,如a=u“abcdefg”。type函数可以验证
字符编码的问题,每个程序员都会遇到,深入探索其背后的原理和机制,能让我们少走很多弯路。
Unicode ( 万国码 、 国际码 、 统一码 、 单一码 )是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。
Unicode发展由非营利机构统一码联盟负责,该机构致力于让Unicode方案替换既有的字符编码方案。因为既有的方案往往空间非常有限,亦不适用于多语环境。
统一码联盟在1991年首次发布了 The Unicode Standard 。
在2005年,Unicode的第十万个字元被引入成为标准之一,该字元被用于马拉雅拉姆语。
目前实际应用的统一码版本对应于UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示2的16次(即65536)个字符。基本满足各种语言的使用。实际上当前版本的统一码并未完全使用这16位编码,而是保留了大量空间以作为特殊使用或将来扩展。
最新(但未实际广泛使用)的统一码版本定义了16个辅助平面,两者合起来至少需要占据21位的编码空间,比3字节略少。但事实上辅助平面字符仍然占用4字节编码空间,与UCS-4保持一致。未来版本会涵盖UCS-4的所有字符。UCS-4是一个更大的尚未填充完全的31位字符集,加上恒为0的首位,共需占据32位,即4字节。理论上最多能表示2的31次方个字符,完全可以涵盖一切语言所用的符号。
通用字符集 (Universal Character Set)是由ISO制定的 ISO 10646 (或称 ISO/IEC 10646 )标准所定义的标准字符集。
通用字符集包括了其他所有字符集。它保证了与其他字符集的双向兼容,即,如果你将任何文本字符串翻译到UCS格式,然后再翻译回原编码,你不会丢失任何信息。
UCS包含了已知语言的所有字符。除了拉丁语、希腊语、斯拉夫语、希伯来语、阿拉伯语、亚美尼亚语、格鲁吉亚语,还包括中文、日文、韩文这样的方块文字,UCS还包括大量的图形、印刷、数学、科学符号。
ISO/IEC 10646定义了一个31位的字符集。
并不是所有的系统都需要支持像组合字符这样的的先进机制。因此ISO 10646指定了如下三种实现级别:
历史上存在两个独立的尝试创立单一字符集的组织,即:
1、国际标准化组织(ISO)于1984年创建的ISO/IEC
2、统一码联盟
统一码联盟和ISO/IEC都同意保持两者标准的码表兼容,并紧密地共同调整任何未来的扩展。
Unicode的实现方式不同于编码方式。一个字符的Unicode编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。
Unicode的实现方式称为 Unicode转换格式 (Unicode Transformation Format,简称为 UTF )。
前面说到,Unicode采用2个字节来编码文件,但是如果一个仅包含7位ASCII字符的Unicode文件,每个字符使用2字节就浪费了一般的存储空间,其第一字节的8位始终为0,这是难以忍受。对于这种情况,可以使用UTF-8编码,这是一种变长编码,它将基本7位ASCII字符仍用7位编码表示,占用一个字节(首位补0)。而遇到与其他Unicode字符混合的情况,将按一定算法转换,每个字符使用1-3个字节编码,并利用首位为0或1进行识别。
问题来了,UTF-8变长编码格式的出现是为了节省存储空间,变长导致了UTF-8的兼容性相应降低。
类似的,对未来会出现的需要4个字节的辅助平面字符和其他UCS-4扩充字符,2字节编码的UTF-16也需要通过一定的算法进行转换。
也就是说,UTF-16是为未来准备的变长编码格式。
还有就是,在Mac和普通PC上,对于字节顺序的理解是不一致的。这时同一字节流可能会被解释为不同内容,如某字符为十六进制编码4E59,按两个字节拆分为4E和59,在Mac上读取时是从低字节开始,那么在Mac OS会认为此4E59编码为594E,找到的字符为“奎”,而在Windows上从高字节开始读取,则编码为U+4E59的字符为“乙”。就是说在Windows下以UTF-16编码保存一个字符“乙”,在Mac OS环境下打开会显示成“奎”。此类情况说明UTF-16的编码顺序若不加以人为定义就可能发生混淆。
于是在UTF-16编码实现方式中使用了 大端序 (Big-Endian,简写为UTF-16 BE)、 小端序 (Little-Endian,简写为UTF-16 LE)的概念,以及可附加的字节顺序记号解决方案,目前在PC机上的Windows系统和Linux系统对于UTF-16编码默认使用UTF-16 LE。目前在PC机上的Windows系统和Linux系统对于UTF-16编码默认使用UTF-16 LE。
在Windows XP附带的记事本,“另存为”对话框可以选择的四种编码方式除去非Unicode编码的ANSI(对于英文系统即ASCII编码),中文系统则为GB2312或Big5外,其余三种为“Unicode”(对应UTF-16 LE)、“Unicode big endian”(对应UTF-16 BE)和“UTF-8”。
UTF-8,是我们最经常看到的编码格式之一。前面已经简单介绍过,这是一种变长编码格式,变长的目的是节省存储空间。
UTF-8使用一至六个字节为每个字符编码(2003年11月UTF-8被RFC 3629重新规范,只能使用原来Unicode定义的区域,U+0000到U+10FFFF,也就是说最多四个字节)。
下面介绍其编码规则:
1、128个US-ASCII字符只需一个字节编码(Unicode范围由U+0000至U+007F)。
2、带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文等则需要两个字节编码(Unicode范围由U+0080至U+07FF)。
3、其他基本多文种平面(BMP)中的字元(这包含了大部分常用字,如大部分的汉字)使用三个字节编码(Unicode范围由U+0800至U+FFFF)。
4、其他极少使用的Unicode 辅助平面的字元使用四至六字节编码。(Unicode范围由U+10000至U+1FFFFF使用四字节,Unicode范围由U+200000至U+3FFFFFF使用五字节,Unicode范围由U+4000000至U+7FFFFFFF使用六字节)。
对上述提及的第四种字元而言,UTF-8使用四至六个字节来编码似乎太耗费资源了。但UTF-8对所有常用的字元都可以用三个字节表示,而且它的另一种选择,UTF-16编码,对前述的第四种字符同样需要四个字节来编码,所以要决定UTF-8或UTF-16哪种编码比较有效率,还要视所使用的字元的分布范围而定。
下面来看看UTF-8具体怎么编码各种类型的字符:
1、单字节编码,字节由零开始:0zzzzzzz。(z取值0或1,下同)
2、两字节编码:(110yyyyy 10zzzzzz)第一个字节由110开始,接着的字节由10开始
3、三字节编码:(01110xxxx10yyyyyy 10zzzzzz)第一个字节由1110开始,接着的字节由10开始。
4、四字节编码:(11110> >
mport sys
sysgetfilesystemencoding()获取系统编码。
beautifulsoup中不知道有没有获取网页编码的函数。我用的是chardet,可以通过chardetdetect(html)['encoding']来获取网页编码,然后对其解码再重新编码为系统编码格式。
以上就是关于如何将WORD文档转化为Unicode编码格式文件全部的内容,包括:如何将WORD文档转化为Unicode编码格式文件、怎么读取UNICODE编码的TXT文件并显示出内容里的中文字符串、如何把txt文档直接保存为unicode编码格式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)