怎样区分乱码和正常汉字(PC下)---根据编码能分清楚吗

Alexpdk 2003-09-30 12:41:55
请问PC下汉字编码的范围是多少?
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
AthlonxpX86 2003-09-30
  • 打赏
  • 举报
回复
哦~!对了,W版的函数可能能够直接使用Unicode编码,但一般情况下默认使用A版的函数
AthlonxpX86 2003-09-30
  • 打赏
  • 举报
回复
字符集不对就会出现乱码,另外还有下面的情况也会出现乱码

中文版win2000一般使用GBK编码,虽然支持Unicode编码,但只是间接支持Unicode编码,Unicode编码的文本会在开头标示 标志是FF FE,字符处理软件通过此标示来确定文本是否是Unicode编码,然后把后面的编码转换成GBK使用,因此如果你的软件读出这样的文本装到CString中然后AfxMessageBox或者TextOut之类显示出来,那将是一堆乱码,一般情况下,windows使用ANSI和GBK混合编码来支持英文字符和中文字符的组合显示,因此这时一个字符串的编码会出现单字节和双字节交叉的现象,如果处理不当,也会出现乱码,这可以通过与0x80来区别
bluebohe 2003-09-30
  • 打赏
  • 举报
回复
把楼上的抄下来收藏:)thanks


汉字编码

ZT

所谓编码,是以固定的顺序排列字符,并以此做为记录、存贮、传递、交换的统一内部特征,
这个字符排列顺序被称为"编码"。

字库的编码是字库组织的依据,也是文字处理的基础。不同国家和地区有不同的编码标准,
和中文字库有关的常见编码有:单字节编码、GB2312-80、GB12345-90、GBK、Unicode编码、
ISO10646 / Unicode字符集、GB18030-2000、BIG5编码、方正748编码,下面简要介绍一下:

■ 单字节编码

MS Windows:Windows Latin 1(ANSI)

MS-DOS:MS-DOS Latin US

Macintosh:Macintosh Roman

■ GB2312-80

全称是GB2312-80《信息交换用汉字编码字符集基本集》,1980年发布,是中文信息处理的
国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码。
P-Windows3.2和苹果OS就是以GB2312为基本汉字编码, Windows 95/98则以GBK为基本汉字
编码、但兼容支持GB2312。

双字节编码

范围:A1A1~FEFE

A1-A9:符号区,包含682个符号

B0-F7:汉字区,包含6763个汉字

GB码共收录6763个简体汉字、682个符号,其中汉字部分:一级字3755,以拼音排序,二级字
3008,以偏旁排序。该标准的制定和应用为规范、推动中文信息化进程起了很大作用。

■ GB12345-90

1990年制定了繁体字的编码标准GB12345-90《信息交换用汉字编码字符集第一辅助集》,目的
在于规范必须使用繁体字的各种场合,以及古籍整理等。该标准共收录6866个汉字(比GB2312
多103个字,其它厂商的字库大多不包括这些字),纯繁体的字大概有2200余个。

双字节编码

范围:A1A1~FEFE

A1-A9:符号区,增加竖排符号

B0-F9:汉字区,包含6866个汉字

■ Unicode编码(Universal Multiple Octet Coded Character Set)

国际标准组织于1984年4月成立ISO/IEC JTC1/SC2/WG2工作组,针对各国文字、符号进行统一性
编码。1991年美国跨国公司成立Unicode Consortium,并于1991年10月与WG2达成协议,采用同
一编码字集。目前Unicode是采用16位编码体系,其字符集内容与ISO10646的BMP(Basic
Multilingual Plane)相同。Unicode于1992年6月通过DIS(Draf International Standard),
目前版本V2.0于1996公布,内容包含符号6811个,汉字20902个,韩文拼音11172个,造字区6400
个,保留20249个,共计65534个。

■ ISO10646 / Unicode字符集

全球可以共享的编码字符集。

UCS-4:组八位 平面八位 行八位 字位八位

UCS-2:00组中的00平面是基本多文种平面(BMP),4E00~9FFF 中日韩文字

Ext A(CJK):3400~4DB7,共6584字

Ext B(CJK):42,807个汉字,在第2平面的0100~A836


■ GBK编码(Chinese Internal Code Specification)

GBK编码是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于1995年10
月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供
1894个造字码位,简、繁体字融于一库。

Windows95/98简体中文版的字库表层编码就采用的是GBK,通过GBK与UCS之间一一对应的码表与
底层字库联系。

英文名:Chinese Internal Code Specification

中文名:汉字内码扩展规范1.0版

双字节编码,GB2312-80的扩充,在码位上和GB2312-80兼容

范围:8140~FEFE(剔除xx7F)共23940个码位

包含21003个汉字,包含了ISO/IEC 10646-1中的全部中日韩汉字


■ GB18030-2000

英文名:Chinese Internal Code Specification
中文名:信息技术 信息交换用汉字编码字符集
基本集的扩充( 2000-03-17发布和实施)
单字节、双字节、四字节编码
向下与国家标准GB 2312信息处理交换码所对应的事实上的内码标准兼容。
在字汇上支持GB 13000.1的全部中、日、韩(CJK)统一汉字字符和全部CJK统一汉字扩充A的字符。

■ BIG5编码

是目前台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字5401个、
二级汉字7652个,共计13060个汉字。

■ 方正748编码

所谓748编码,是指方正系统在长期应用过程中实施、制定的简、繁体字库编码方式,简体兼容
GB2312且有所扩展,共7156字;繁体兼容GB12345并扩展全部BIG-5汉字,计14943字。此外,方
正748编码还含有丰富的符号库。748编码仅用于方正软件和系统。 


akiko 2003-09-30
  • 打赏
  • 举报
回复
http://members.lycos.co.uk/xuy/azcn/files/e-com/cncoding.txt
bluebohe 2003-09-30
  • 打赏
  • 举报
回复
mark,明天回答

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧