如题
解决方案 »
- vb连接access数据库的代码?
- 很恼人的一个ADO的Connection对象问题
- 关于窗口重新得到焦点的问题~在线等待
- 求教:用installshield可以生成vb的exe文件吗?是不是比vb自己生成的exe文件小许多??
- 如何获得IE 文件->打印->打印按钮的句柄
- 存储过程...
- 我用month函数取月份,但结果却错了,帮我看看嘛 !
- 高分求教:如何用VB6编程实现打开需要开启密码的EXCEL2000表格?
- 我在98下开发了一个通信网管软件,但是在NT 4.0下就显示无法连接数据库,请各位高手指点一下迷津
- ---) 全部分数 顷囊相送 求解 (---
- 请问在VB中怎么判断操作系统类型?
- 我写了一个函数来把字符转化为ASC,为什么转化汉字的时候溢出,请高手指教
Char=Abc("汉")
区=(Char And &HFF)-160
位=((Char and &H7F00)\&H100 or ((Char and &H8000)<>0)and &H80)-160
Char=Abc("汉")
区=(Char And &HFF)-160
位=((Char and &H7F00)\&H100 or ((Char and &H8000)<>0)and &H80)-160
Function QWtoHZ(QWM As Long) As String
Dim H As Long, L As Long
H = 160 + QWM \ 100
L = 160 + QWM Mod 100
QWtoHZ = Chr("&H" & Hex(H) & Hex(L))
End Function
'汉字to区位码
Function HZtoQW(HZ As String) As Long
Dim H As Long, L As Long
H = (Asc(HZ) And &HFF00&) \ &HFF - 160
L = Asc(HZ) And &HFF - 160
HZtoQW = H * 100 + L
End Function
Debug.Print QWtoHZ(1601)
Debug.Print HZtoQW("啊")
区码和位码与字的点阵信息有什么联系?
=========================================
早期字库是点阵字库(如UCDOS)
比如一个16*16字库:
点阵数据地址=(区码*94+位码)*32
32是一个字符的点阵数据所占字节:16*16\8=32
GB 2312 码是中华人民共和国国家标准汉字信息交换用编码,全称《信息交换用汉字编码字符集 基本集》,标准号为 GB 2312-80(GB 是“国标”二字的汉语拼音缩写),由中华人民共和国国家标准总局发布,1981年5月1日实施。习惯上称国标码、GB 码,或区位码。它是一个简化字汉字的编码,通行于中国大陆地区。新加坡等地也使用这一编码。
GB 2312-80 收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中汉字以外的图形字符 682 个,汉字 6763 个。
GB 2312-80 规定,“对任意一个图形字符都采用两个字节(Byte)表示。每个字节均采用 GB 1988-80 及 GB 2311-80 中的七位编码表示。两个字节中前面的字节为第一字节,后面的字节为第二字节。”习惯上称第一字节为“高字节”,第二字节为“低字节”。
GB 2312-80 将代码表分为 94 个区(Section),对应第一字节;每个区 94 个位(Position),对应第二字节。两个字节的值,分别为区号值和位号值各加 32(20H)。
GB 2312-80 规定,01~09 区(原规定为 1~9 区,为表示区位码方便起见,今改称 01~09 区)为符号、数字区,16~87 区为汉字区。而 10~15 区、88~94 区是有待于“进一步标准化”的“空白位置”区域。但第 10 区推荐与第 3 区的 94 个图形字符(即 GB 1988-80 中的 94 个图形字符)相同,字形宽度为其宽度的一半。
GB 2312-80 把收录的汉字分成两级。第一级汉字是常用汉字,计 3755 个,置于 16~55 区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字,计 3008 个,置于 56~87 区,按部首/笔画顺序排列。字音以普通话审音委员会发表的《普通话异读词三次审音总表初稿》(1963年出版)为准,字形以中华人民共和国文化部、中国文字改革委员会公布的《印刷通用汉字字形表》(1964年出版)为准。 例:汉字“啊”,第一字节为 0110000,第二字节为 0100001,即 16 区、01 位,用 16-01 表示。 GB 2312-80 图形字符代码表 01-07区 08-15区 16-23区 24-31区 32-39区 40-47区
48-55区 56-63区 64-71区 72-79区 80-87区 88区以下略 注:
1. 如果你使用外挂式中文平台,需要将当前环境设置为 GB 码来阅读上表。例如,使用南极星全球通,需要将当前环境设置成为“Chinese GB Simplified”(中文GB简体),而不要设置成为“Chinese Auto Simplified”(中文自动简体)。有些外挂式的中文平台,不能正确显示 01~15 区的空白位置。
2. 02 区的 0201~0210、06 区的 0664~0685 和 08 区的 0827~0832 位置,在 GB 2312-80 中原本规定为有待于进一步标准化的空白位置。但如果你使用的操作系统为 Windows 95 简体中文版(及更高的版本),或者使用了其他支持 GBK 码、CJK 码的汉字系统,在某些情况下会看到以上位置分别为 10 个小写罗马数字、19 个中文竖排用符号和 6 个汉语拼音符号。这些符号系 GB 5007.1、GB/T 12345-90 及 GBK 增补的符号,由于 Windows 95 简体中文版使用了 GBK 字体,所以显示出这些符号。此外第 10、11、12 区显示的汉字,也属类似的情况。
3. GB 码的编码范围为 2121H~777EH,与 ASCII 码有重叠,通行将 GB 码两个字节的最高位均置 1(MSB=1),以示区别。因此,实际应用的 GB 码是 GB 码高位置 1 后的变形码,编码范围为 0A1A1H~0F7FEH。如汉字“啊”,第一字节为 10110000,第二字节为 10100001。
顶