字符与GBXX,UCS-2,utf-8编码的相互转换

在介绍转换之前,先介绍一下常见的字符集:

1ASCII:这个大家应该都比较熟悉,他把英文字母、数字等256个字符编码为Ox00-OxFF

2GBXX:包括GB2312、GBK、GB18030,这里面主要增加了对汉及汉字标点等的编码。其中GB18030>GB2312>ASCII完全向下兼容。GBK是在GB2312上的改进(增加了对更多汉字的编码)。对于记事本(简体中文版)的默认编码方式就是GB2312,这就是他能识别汉字和英文字母的原因。

3BIG5:繁体中文字符集标准,这个就不多说。

4UNICODE:provides a unique number for every character为出现过的每一个字符提供编码,用四个字节来表示。(这其实是指UTF-32).并且UTF-16和UTF-8也是根据UTF-32转化而来。因此对与字符集UNICODE有UTF-32,UTF-16,UTF-8三种编码方案。windows系统采用UTF-16(2个字节对于绝大数情况已经足够)。UTF-8主要用于欧洲和北美,IETF要求所有的网络协议都必须支持UTF-8编码。UTF-32用4个字节表示一个字符;UTF-16用2个字节表示小于Ox10000(UTF-32值)的字符(汉字的范围是Ox4E00-Ox9FA5 ,OxF900-OxFA2D),其余用4个字节。UTF-8采用变字节编码方案,1-6字节不等。

UTF-16可看成是UCS-2的父集。在没有辅助平面字符(surrogate code points)前,UTF-16与UCS-2所指的是同一的意思。但当引入辅助平面字符后,就称为UTF-16了。现在若有软件声称自己支援UCS-2编码,那其实是暗指它不能支援在UTF-16中超过2bytes的字集。对于小于0x10000的UCS码,UTF-16编码就等于UCS码。


下面进入主题,字符与GBXX,UCS-2,utf-8编码的相互转换?

用的工具是记事本和能以二进制打开文件的字符编辑器。

记事本在保存时可以选择ANSI(简体中文下指的是GBK),UNICODE(UTF-16小尾端),UTF-16大尾端、UTF-8这几种编码方式。


1>字符转化为相应的编码:打开记事本,写下字符,另存存时选择相应的编码方式(你想查看的)。然后用二进制工具打开即可。

2>编码转化为相应的字符:打开记事本,另存时选择相应的编码。用二进制工具打开后用编码替代里面的二进制位,然后打开记事本即可。

下面我们就练一下,在百度知道上看到有人上传的编码如下CE D2 B6 D4 C4 E3 D6 C1 CB C0 B2 BB D3 E5 CE D2 BB E1 B5 C8 C4 E3 B5 C4 D2 BB B1 B2 D7 D3 B0 AE BE FD D2 BB B1 B2 D7 D3 C3 F7,需要转化为字符。

首先确定编码类型,如何确定,不同的编码范围不同,所占字节不同,但是这都不好用。。。一个一个的试吧,首先用默认方式,建立一个文本文档,已默认方式保存。然后用二进制工具打开,替代二进制位


然后保存,再用记事本打开。


OK,搞定,看来用的是GBK编码,2个字节表示一个汉字。

使用这种方式可以很容易在字符与GBK,UTF-16,UTF-8之间转化。如果需要字符与UTF-16

之间转化有一种更快捷的方士:利用word中的ALT+X快捷键可以快速的进行双向转化。不妨一试!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值