textbox

IT博客 联系 聚合 管理
  103 Posts :: 7 Stories :: 22 Comments :: 0 Trackbacks
现行的的windows系统 xp ,2000, vista 都是unicode 作为内码的操作系统。
也可以这么说系统所有内部文字处理,函数调用都要转换成unicode后再进行处理和调用。
既然windows是个支持多国语言的操作系统那么它是通过什么样方式来实现多国语言的支持的呢?
答案就是通过codepage .codepage 到底是什么东西呢?它里面实际上就保存着各国语言编码对应unicode的映射表。如下是 GB 2312 codepage 936 对应的一部分,它们来自ftp://ftp.unicode.org/Public/MAPPINGS/
uncode   gb2312    中日韩 字符
0x3021    0X554A    # <CJK>
0x3022    0X963F    # <CJK>
0x3023    0X57C3    # <CJK>
0x3024    0X6328    # <CJK>
0x3025    0X54CE    # <CJK>
0x3026    0X5509    # <CJK>
0x3027    0X54C0    # <CJK>
0x3028    0X7691    # <CJK>
0x3029    0X764C    # <CJK>
0x302A    0X853C    # <CJK>
0x302B    0X77EE    # <CJK>
0x302C    0X827E    # <CJK>
0x302D    0X788D    # <CJK>
0x302E    0X7231    # <CJK>
0x302F    0X9698    # <CJK>
0x3030    0X978D    # <CJK>
0x3031    0X6C28    # <CJK>
0x3032    0X5B89    # <CJK>
0x3033    0X4FFA    # <CJK>
0x3034    0X6309    # <CJK>
0x3035    0X6697    # <CJK>
0x3036    0X5CB8    # <CJK>
0x3037    0X80FA    # <CJK>
0x3038    0X6848    # <CJK>
0x3039    0X80AE    # <CJK>
0x303A    0X6602    # <CJK>
0x303B    0X76CE    # <CJK>
......

BIG5 codepage 950 就是繁体内码转换页
unicode   big5      中日韩 字符
0xA6FB    0X4F54    # <CJK>
0xA6FC    0X4F3C    # <CJK>
0xA6FD    0X4F46    # <CJK>
0xA6FE    0X4F63    # <CJK>
0xA740    0X4F5C    # <CJK>
0xA741    0X4F60    # <CJK>
0xA742    0X4F2F    # <CJK>
0xA743    0X4F4E    # <CJK>
0xA744    0X4F36    # <CJK>
0xA745    0X4F59    # <CJK>
0xA746    0X4F5D    # <CJK>
0xA747    0X4F48    # <CJK>
0xA748    0X4F5A    # <CJK>
0xA749    0X514C    # <CJK>
0xA74A    0X514B    # <CJK>
0xA74B    0X514D    # <CJK>
0xA74C    0X5175    # <CJK>
......
通过以上codepage大概就可以裁出windows 是通过查表方式来与个国的文字编码进行转换的。
对应的相关api函数有
WideCharToMultiByte 
MultiByteToWideChar

上面的WideChar就是指wide-character (Unicode)
 MultiByte 是指multibyte character set 也就是通常所说的 GB码等各国的字符编码集合
这个两个函数就是提供各个编码与unicode之间的转换


posted on 2008-11-26 19:11 零度 阅读(303) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。