Vfp中如何把区位码转变成汉字

Vfp中如何把区位码转变成汉字
Vfp中如何把区位码转变成汉字

Vfp中如何把区位码转变成汉字

由于姓名是区位码的数字,要转变成汉字,但是在vfp里用CHR()函数的时候,参数是ANSI码,所以不能直接使用,终于找到其中的规律:

比如"啊"的区位码是"1601",而在vfp里用?asc("啊")可以知道,啊的ANSI是45217,即用?chr(45217)才能出来"啊"字.

他们的对应关系是怎样的呢?

首先,对于"啊"字的区位码来说,16是区码,01是位码, 1:把区码和位码都加上160

2:16+160=176,01+160=161

3:转换成16进制数:区码:B0,位码:A1

4:连接:B0A1

5:转变成10进制数:val(0xb0a1)=45217

这样就可以把区位码转变成汉字了.

源程序:

function hantoqwei

para qwei

local hanzi,H_qwei,L_qwei,cL_qwei,cH_qwei,fullansi

hanzi=""

H_qwei=val(left(qwei,2))+160

L_qwei=val(right(qwei,2))+160

cH_qwei=dectohex(H_qwei)

cL_qwei=dectohex(L_qwei)

fullansi=val(allt("0x"-allt(cH_qwei)-allt(cL_qwei)))

hanzi=chr(int(fullansi))

retu hanzi

function dectohex

****十进制数转换成十六进制数para tnDec

local lcHex,lnCurNum,lcCurChr lcHex = ""

do while .T.

lnCurNum = mod(tnDec,16)

if lnCurNum > 9

lcCurChr = chr(lnCurNum + 55) else

lcCurChr = str(lnCurNum,1) endif

lcHex = lcCurChr + lcHex tnDec = int(tnDec/16)

if tnDec <= 0

exit

endif

enddo

retu lcHex

(好)汉字机内码、国标码和区位码定义区别

1.国家标准汉字代码体系 汉字字数繁多,属性丰富,因而汉字代码体系也较复杂,包括: (1)汉字机内码。它们是汉字在计算机汉字系统内部的表示方法,是计算机汉字系统 的基础代码。 (2)汉字交换码。它们是国标汉字(如机内码)进行信息交换的代码标准。 (3)汉字输入码。它们是在计算机标准键盘上输入汉字用到的各种代码体系。 (4)汉字点阵码。它们是在计算机屏幕上显示和在打印机上打印输出汉字的代码体系。 (5)汉字字形控制码。为了打印各种风格的字体和字形所制定的代码。 这些代码系统有的必须有统一的国家标准,有的则不要求统一。近年来我国已经制定 系列汉字信息处理方面的国家标准,今后将继续完善,并与国际上求得统一。 2.国家标准汉字交换码(国标码) 我国制定了“中华人民共和国国家标准信息交换汉字编码”,标准代号为GB2312—80,这种编码又称为国标码。在国标码的字符集中共收录了一级汉字3755个,二级汉字3008 个,图形符号682个,三项字符总计7445个。 国标码是指1980年中国制定的用于不同的具有汉字处理功能的计算机系统间交换汉字信息时使用的编码。国际码是二字节码, 用两个七位二进制数编码表示一个汉字。目前国标码收入6763个汉字, 其中一级汉字(最常用)3755个, 二级汉字3008个, 另外还包括682个西文字符、图符。一级汉字为常用字,按拼音顺序排列,二级汉字为次常用字,按部首排列。国标码的范围是2121H—7E7EH。 3、区位码: 国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码或区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位码 在国标GB2312—80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个“区”,编号为01区到94区,每一列称为一个“位”,编号为01 位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯 数字就是它们的“区位码”。区位码的前两位是它的区号,后两位是它的位号。用区位码 就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。汉字“母”字的区位码是3624,表明它在方阵的36区24位,问号“?”的区 位码为0331,则它在03区3l位。 所有的汉字和符号所在的区分为以下四个组: (1)01区到15区。图形符号区,其中01区到09区为标准符号区,10区到15区为 自定义符号区。 01区到09区的具体内容如下; 1)01区。一般符号202个,如间隔符、标点、运算符、单位符号及制表符; 2)02区。序号60个,如1.~20.、(1)~(20)、①~⑩及(一)~(十); 3)03区。数字22个,如0—9及X一XII,英文字母52个,其中大写A—Z、小写 a—z各26个; 4)04区。日文平假名83个; 5)05区。日文片假名86个; 6)06区。希腊字母48个; 7)07区。俄文字母66个;

最新汉字区位码表

汉字区位码表 说明 本表包含了汉字国标码中所包含的6768个汉字的区位码,汉字排列时按汉字的汉语拼音音序顺序排列,供参加普通高校、中专(中师),成人高校、中专,自学考试(中小学教师专业合格证书考试)填涂信息卡中的汉字信息使用。 多音字只在一处出现,例如:汉字“单”读?DAN,在第10页DAN这一列下,可查到其区位码为2105,但该字也读SHAN,当用作 SHAN字读音时,也在DAN字下面查其区位码,其余类推。

A 啊 1601 阿 1602 吖 6325 嗄 6436 腌 7571 锕 7925 AI 埃 1603 挨 1604 哎 1605 唉 1606 哀 1607 皑 1608 癌 1609 蔼 1610 矮 1611 艾 1612 碍 1613 爱 1614 隘 1615 捱 6263 嗳 6440 嗌 6441 嫒 7040 瑷 7208 暧 7451 砹 7733 锿 7945 霭 8616 AN 鞍 1616 氨 1617 安 1618 俺 1619 按 1620 暗 1621 岸 1622 胺 1623 案 1624 谙 5847 埯 5991 揞 6278 犴 6577 庵 6654 桉 7281 铵 7907 鹌 8038 黯 8786 ANG 肮 1625 昂 1626 盎 1627 AO 凹 1628 敖 1629 熬 1630 翱 1631 袄 1632 傲 1633 奥 1634 懊 1635 澳 1636 坳 5974 拗 6254 嗷 6427 岙 6514 廒 6658 遨 6959 媪 7033 骜 7081 獒 7365 聱 8190 螯 8292 鏊 8643 鳌 8701 鏖 8773 BA 芭 1637 捌 1638 扒 1639 叭 1640 吧 1641 笆 1642 八 1643 疤 1644 巴 1645 拔 1646 跋 1647 靶 1648 把 1649 耙 1650 坝 1651 霸 1652 罢 1653 爸 1654 茇 6056 菝 6135 岜 6517 灞 6917 钯 7857 粑 8446 鲅 8649 魃 8741 BAI 白 1655 柏 1656 百 1657 摆 1658 佰 1659 败 1660 拜 1661 稗 1662 捭 6267 呗 6334 掰 7494 BAN 斑 1663 班 1664 搬 1665 扳 1666 般 1667 颁 1668 板 1669 版 1670 扮 1671 拌 1672 伴 1673 瓣 1674 半 1675 办 1676 绊 1677 阪 5870 坂 5964 钣 7851 瘢 8103 癍 8113 舨 8418 BANG 邦 1678 帮 1679 梆 1680 榜 1681 膀 1682 绑 1683 棒 1684 磅 1685 蚌 1686 镑 1687 傍 1688 谤 1689 蒡 6182 浜 6826 BAO 苞 1690 胞 1691 包 1692 褒 1693 剥 1694 薄 1701 雹 1702 保 1703 堡 1704 饱 1705 宝 1706 抱 1707 报 1708 暴 1709 豹 1710 鲍 1711 爆 1712 葆 6165 孢 7063 煲 7650 鸨 8017 褓 8157 趵 8532 龅 8621 BEI 杯 1713 碑 1714 悲 1715 卑 1716 北 1717 辈 1718 背 1719 贝 1720 钡 1721 倍 1722 狈 1723 备 1724 惫 1725 焙 1726 被 1727 孛 5635 陂 5873 邶 5893 埤 5993 萆 6141 蓓 6177 悖 6703 碚 7753 鹎 8039 褙 8156 鐾 8645 鞴 8725 BEN 奔 1728 苯 1729 本 1730 笨 1731 畚 5946 坌 5948 贲 7458 锛 7928 BENG 崩 1732 绷 1733 甭 1734 泵 1735 蹦 1736 迸 1737 嘣 6452 甏 7420 BI 逼 1738 鼻 1739 比 1740 鄙 1741 笔 1742 彼 1743 碧 1744 蓖 1745 蔽 1746 毕 1747 毙 1748 毖 1749 币 1750 庇 1751 痹 1752 闭 1753 敝 1754 弊 1755 必 1756 辟 1757 壁 1758 臂 1759 避 1760 陛 1761 匕 5616 俾 5734 荜 6074 荸 6109 薜 6221 吡 6333 哔 6357 狴 6589 庳 6656 愎 6725 滗 6868 濞 6908 弼 6986 妣 6994 婢 7030 嬖 7052 璧 7221 畀 7815 铋 7873 秕 7985 裨 8152 筚 8357 箅 8375 篦 8387 舭 8416 襞 8437 跸 8547 髀 8734 BIAN 鞭 1762 边 1763 编 1764 贬 1765 扁 1766 便 1767 变 1768 卞 1769 辨 1770 辩 1771 辫 1772 遍 1773 匾 5650 弁 5945 苄 6048 忭 6677 汴 6774 缏 7134 飚 7614 煸 7652 砭 7730 碥 7760 窆 8125 褊 8159 蝙 8289 笾 8354 鳊 8693 BIAO 标 1774 彪 1775 膘 1776 表 1777 婊 7027 骠 7084 杓 7228 飑 7609 飙 7613 镖 7958 镳 7980 瘭 8106 裱 8149 鳔 8707 髟 8752 BIE 鳖 1778 憋 1779 别 1780 瘪 1781 蹩 8531 BIN 彬 1782 斌 1783 濒 1784 滨 1785 宾 1786 摈 1787 傧 5747 豳 6557 缤 7145 玢 7167 槟 7336 殡 7375 膑 7587 镔 7957 髌 8738 鬓 8762 BING 兵 1788 冰 1789 柄 1790 丙 1791 秉 1792 饼 1793 炳 1794 病 1801 并 1802 禀 5787 邴 5891 摒 6280 BO 玻 1803 菠 1804 播 1805 拨 1806 钵 1807 波 1808 博 1809 勃 1810 搏 1811 铂 1812 箔 1813 伯 1814 帛 1815 舶 1816 脖 1817 膊 1818 渤 1819 泊 1820 驳 1821 亳 5781 啵 6403 饽 6636 檗 7362 擘 7502 礴 7771 钹 7864 鹁 8030 簸 8404 跛 8543 踣 8559 BU 捕 1822 卜 1823 哺 1824 补 1825 埠 1826 不 1827 布 1828 步 1829 簿 1830 部 1831 怖 1832 卟 6318 逋 6945 瓿 7419 晡 7446 钚 7848 钸 7863 醭 8519 CA 擦 1833 嚓 6474 礤 7769 CAI 猜 1834 裁 1835 材 1836 才 1837 财 1838 睬 1839 踩 1840 采 1841 彩 1842 菜 1843 蔡 1844 CAN 餐 1845 参 1846 蚕 1847 残 1848 惭 1849 惨 1850 灿 1851 孱 6978 骖 7078 璨 7218 粲 8451 黪 8785 CANG 苍 1852 舱 1853 仓 1854 沧 1855 藏 1856 伧 5687 CAO 操 1857 糙 1858 槽 1859 曹 1860 草 1861 嘈 6448 漕 6878 螬 8309 艚 8429 CE 厕 1862 策 1863 侧 1864 册 1865 测 1866 恻 6692 CEN 岑 6515 涔 6825 CENG 层 1867 蹭 1868 噌 6465 CHA 插 1869 叉 1870 茬 1871 茶 1872 查 1873 碴 1874 搽 1875 察 1876 岔 1877 差 1878 诧 1879 猹 6610 馇 6639 汊 6766 姹 7017 杈 7230 楂 7311 槎 7322 檫 7363 锸 7942 镲 7979 衩 8135 CHAI 拆 1880 柴 1881 豺 1882 侪 5713 钗 7846 瘥 8091 虿 8218 CHAN 搀 1883 掺 1884 蝉 1885 馋 1886 谗 1887 缠 1888 铲 1889 产 1890 阐 1891 颤 1892 冁 5770 谄 5838 蒇 6159 廛 6660 忏 6667 潺 6893 澶 6904 羼 6981 婵 7031 骣 7086 觇 7472 禅 7688 镡 7966 蟾 8324 躔 8580 CHANG 昌 1893 猖 1894 场 1901 尝 1902 常 1903 长 1904 偿 1905 肠 1906 厂 1907 敞 1908 畅 1909 唱 1910 倡 1911

汉字区位码分别用十进制的区号和位号范围

区号分别为1到94、位号分别为1到94。 一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。在汉字的区位码中,高两位为区号,低两位为位号。在区位码中,01-09区为682个特殊字符,16~87区为汉字区,包含6763个汉字。 其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列)。 扩展资料 通常,在DOS下的各汉字系统中,同时按Alt键和F1键即可调用区位码输入方法。而在Windows中常用Ctrl+空格键和Ctrl+Shift键调出区位码。 如“2901”代表“健”字,“4582”代表“万”字,“8150”代表“楮”字,这些都是汉字,用区位码还可以很轻松地输入特殊符号,比如,“0189”代表“※”(符号),“0528”代表“ゼ”(日本语),“0711”代表“Й”(俄文),“0949”代表“┭”(制表符)。 在区位码汉字输入方法中,汉字编码无重码,在熟练掌握汉字的区位码后,录入汉字的速度是很快的,但若想记忆住全部区位码是相当困难的,常使用于录入特殊符号,如制表符、希腊字母等 汉字区位码分别用十进制的区号和位号表示。其区号和位号的范围分别是()。 A.0~94,0~94 B.1~95,1~95

C.1~94,1~94 D.0~95,0~95 正确答案:C 区位码:94×94阵列,区号范围:1~94,位号范围:1~94。 汉字的区位码、国标码和机内码是三个不同的概念,假设某个汉字的区号是30(十进制),位号是63(十进制),则在PC机中它的内码(十六进制)是______。 正确答案:BEDFH BEDFH 解析:区位码是3063B=1E3FH,所以机内码:国标码+8080H=区位码+2020H+8080H=1E3FH+A0A0H=BEDFH 汉字的区位码、国标码和机内码(又称内码)是3个不同的概念,假设某个汉字的区号是30 (十进制),位号是63(十进制),则在PC机中它的内码(十六进制)是( )。 A.BEDF B.3E5F C.9EBF D.BOE3 正确答案:A 解析:该汉字的区号是30(十进制),位号是63(十进制)。则该汉字区位码为1E3FH,因机内码=国标码+8080H=(区位码的十六进制表示)+AOAOH。则答案为BEDFH。

汉字编码及区位码查询算法

汉字编码及区位码查询算法 为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。到了后来又公布了国家标准GB18030-2000《信息交换用汉字编码字符集基本集的扩充》,简称GB18030。由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。在汉字的区位码中,高两位为区号,低两位为位号。在区位码中,01-09区为682个特殊字符,16-87区为汉字区,包含6763个汉字。其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列)。 从汉字到区位码的转换。区位码是与汉字一一对应的编码,用四位数字表示,前两位从01 到94称区码,后两位从01到94称位码。一个汉字的前一半为“160+区码”的字符,后一半为“160+位码”的字符。例如:“刘”的区位码是3385,其意为区码33位码85,它是由160+33=193和160+85=245的两个字节组成。即C1F5,它就是汉字的gb2312 编码。 下面程序将汉字gb2312 转为相应的区位码: #include #include using namespace std;int main() { // temp[0] 为高字节,temp[1] 为低字节 // 当输入单个ascii 字符时,只存进temp[0] // 当输入的不是中文或单个ascii 字符时,程序退出 unsigned char temp[2]; cin >> temp; while(temp[1]) { cout << setw(2) << setfill('0') << temp[0] - 160; // 高2 位 cout << setw(2) << setfill('0') << temp[1] - 160 << endl; // 低2 位// 输入下一个字符前,先将temp[1] 清零 temp[1] = 0; cin >> temp; } return 0; } 字符编码简介 Unicode是一种字符编码规范。先从ASCII说起。ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits)。因此,ASCII编码可以表示的最大字符数是256,其实英文字符并没有那么多,一般只用前128个(最高位为0),其中包括了控制字符、数字、大小写字母和其他一些符号。而最高位为1的另128个字符被成为“扩展ASCII”,一般用来存放英文的制表符、部分音标字符等等的一些其他符号。这种字符编码规范显然用来处理英文没有什么问题。(实际上也可以用来处理法文、德文等一些其他的西欧字符,但是不能和英文通用),但是面对中文、阿拉伯文之类复杂的文字,255个字符显然不够用,

汉字区位码分别用十进制的区号和位号范围

汉字区位码分别用十进制的区号和位号范围 汉字区位码分别用十进制的区号和位号表示。其区号和位号的范围分别是()。 A.0~94,0~94 B.1~95,1~95 C.1~94,1~94 D.0~95,0~95 参考答案:C 汉字的区位码中区号和位号的范围都是01到94。《信息交换用汉字编码字符集》基本集共收入bai汉字6763个和非汉字图形字符682个。整个字符集分成94个区,每区有94个位。每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。 01-09区为特殊符号,16-55区为一级汉字,按拼音排序,56-87

区为二级汉字,按部首/笔画排序,10-15区及88-94区则未有编码。 汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。 区位码的查询方法: 1、用拼音链接查找汉字所有汉字已按拼音顺序排列,在下面的表格顶部已列出了所有汉字的所有拼音,你只要点击你要找的拼音,屏幕即显示这个拼音的全部汉字,汉字右侧的数字即为该汉字的区位码。点击每个拼音右面的“返回”链接,屏幕即快速回到顶部,可查找下一个拼音。 2、按音序查所有汉字已按拼音顺序排列,你只要移动浏览器窗口右方的滚动条就可找到你要的汉字。在表中,汉字右侧的数字即为该汉字的区位码。 例如“诚”字,首先按其发音“cheng”找到发这个拼音的字在表中的位置,然后在这个位置查“诚”字,找到“诚”字后,其汉字右侧

汉字的国标码机内码区位码区别

汉字的国标码机内码区位码区别 文字编码系列--汉字的国标码,机内码,区位码(gbcode查出的是区位码) 1.国标码:“国家标准信息交换用汉字编码”(GB2312-80标准),简称国标码。 国标码是二字节码, 用两个七位二进制数编码表示一个汉字。 2.区位码:为了使每一个汉字有一个全国统一的代码,区位码是国家规定的94*94的一个方阵,其中每行叫做一个区,每列叫做一个位,组合起来就组成了区位码,我们可以在相关网站查询某个汉字的区位码,例如汉字“我”的区位码是46 50 ,标识“我”在46区,50位。 3.机内码:机内码是在计算机中存储的汉子编码。 三者之间的关系。 国标码=16进制的区位码+2020H 机内码=国标码+8080H 例如“我”的的区位码是46 50 这是10进制的转化为16进制:2E32H(46==2E,50==32)所以“我”的国标码:2E32H+2020H=4E52H 所以“我”机内码:4E52H+8080H=CED2(其实就是把二进制国标码的最高位置1,注意看E和2都没有变化) 机内码转化为2进制就可以再计算机中存储,这里面转化为10进制可以输出。 CED2的10进制为:52946,这里我们打开记事本,按住alt建,输入52946即可以看见“我”,因为52946是“我”的机内码的10进制。 这里面有两个问题: 1.为什么不用区位码直接表示国标码,为要加上2020H? 2.机内码为什么要在国标码的基础上加上8080H,而不是直接只用国标码作为机内码? 这里我先解决第二个问题, 国标码就是由2个ASCII码组成,为什么呢(这里简单介绍一下,后面会详细说明)?因为在英文中只有26个字母,所以用一个字节就可以表示了,用一个字节的话可以表示2^8个符号,就是256个符号,绰绰有余啊,于是外国人制订了规范,规定0-127(00000000-01111111)个字符他们用了,用来表示英文字符和一些符号,就是ASCII码,但是汉字有很多,256个根本就不够,于是国家就用两个ASCII来表示一个汉字,就是2个字节标识一个汉字,例如“保”的区位码为:1703,所以国标码为:1703的10进制+2020H=3123H, 然而:31H 和23H在ASCII中式有值的,31H在ASCII中表示数字1,23H表示的是“#”(这个可以在网上查询),那么如果我以国标码作为机内码的话,如果内存中有两个字节为31H和23H,那么到底是表示汉字“保”呢?还是字符1#呢?这样就有了歧义,但是解决办法就有了,0-127不是被英文字符占了吗?那么我就用127之后的来表示不就可以了吗?于是我把汉字的两个字节每个字节机上128(16进制就是80H),于是问题解决了,汉字“保”的机内码变为:3123H+8080H=B2A3H(10进制就是45475),打开记事本按住alt+45475看看是不是“保”,这样就不会和英文的ASCII冲突了。

中文字库区位码与机内码

1) 区位码 在国标GD2312—80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个“区”,编号为01区到94区,每一列称为一个“位”,编号为01位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。区位码的前两位是它的区号,后两位是它的位号。用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。汉字“母”字的区位码是3624,表明它在方阵的36区24位,问号“?”的区位码为0331,则它在03区3l位。 2) 机内码 汉字的机内码是指在计算机中表示一个汉字的编码。机内码与区位码稍有区别。如上所述,汉字区位码的区码和位码的取值均在1~94之间,如直接用区位码作为机内码,就会与基本ASCII码混淆。为了避免机内码与基本ASCII码的冲突,需要避开基本ASCII码中的控制码(00H~1FH),还需与基本ASCII码中的字符相区别。为了实现这两点,可以先在区码和位码分别加上20H,在此基础上再加80H(此处“H”表示前两位数字为十六进制数)。经过这些处理,用机内码表示一个汉字需要占两个字节,分别称为高位字节和低位字节,这两位字节的机内码按如下规则表示: 高位字节= 区码+ 20H + 80H(或区码+ A0H) 低位字节= 位码+ 20H + 80H(或位码+ AOH) 由于汉字的区码与位码的取值范围的十六进制数均为01H~5EH(即十进制的01~94),所以汉字的高位字节与低位字节的取值范围则为A1H~FEH(即十进制的161~254)。 例如,汉字“啊”的区位码为1601,区码和位码分别用十六进制表示即为1001H,它的机内码的高位字节为B0H,低位字节为A1H,机内码就是B0A1H。

区位码与汉字相互转换的算法

区位码与汉字相互转换的算法.txt你无法改变别人,但你可以改变自己;你无法改变天气,但你可以改变心情;你无法改变生命长度,但你可以拓展它的宽度。一、由汉字得到其区位码 标准字库含汉字6763个其中一级汉字3755(按拼音排序)、二级汉字(按部首排序),在加上西文字母、数字、图形符号等700个。字库分为94个区,每个区94个汉字,这就是区位码。汉字处理软件为了实现中西文汉字共同显示又不发生冲突。用码值160以上的ASCII用来当汉字内码, 每个汉字由两个字符组成,其中前一个字节表示区码,后一个字节表示位码. 区位码汉字部分取值范围是1601--8794(由WIN2000中区位输入法实际操作得出) 可以根据其两个字节的ASC码得到该字的区位码 计算公式:区码=ASC(a) - 160 位码=ASC(b) - 160 区位码=区码*100 + 位码 其中:a为第一字节 b为第二字节 根据汉字区位码的取值范围及每个汉字的区ASC码、位ASC码值可以得知: 区ASC码值的范围:176--247 位ASC码值的范围:161--254 在PB中实现汉字区位码的语法格式为: (ASC(MID(strhz,1,1)) - 160) * 100 + (ASC(MID(strhz,2,1)) - 160) 由于区码和位码减去160后均为两位数字,所以以上算法相当于将两位的区码与位码组合起来,例如: 汉字:中的区ASC码与位ASC码分别为214 208,分别减去160后得54 48,组合后区位码即为5448 二、由区位码得出汉字的算法 1、先得出汉字的两段ASC码 可以设:汉字的区位码为Z, 汉字的区ASC码为X, 汉字的位ASC码为Y, 由本文第一部分所述从汉字得区位码的方法可以列出如下公式 (x - 160) * 100 + (y - 160) = Z 推导可得 Z = 100X + y - 16160 当我们已知一个汉字的区位码(Z)时,又已知X的变化范围为176--247,Y的变化范围为161--254

特殊字符区位码速查

特殊字符区位码速查 1980年,为了使每一个汉字有一个全国统一的代码,我国颁布了第一个汉字编码的国家标准:GB2312-80〇信息交换用汉字编码字符集〈基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。 国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码或区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位码。 通常,在DOS下的各汉字系统中,同时按Alt键和F1键即可调用区位码输入方法。而在Windows中常用Ctrl+空格键和Ctrl+Shift键调出区位码。如“2901”代表“健”字,“4582”代表“万”字,“8150”代表“楮”字,这些都是汉字,用区位码还可以很轻松地输入特殊符号,比如,“0189”代表“※”(符号),“0528”代表“ゼ”(日本语),“0711”代表“Й”(俄文),“0949”代表“┭”(制表符)。 在区位码中,01-09区为特殊字符,10-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列),在区位码汉字输入方法中,汉字编码无重码,在熟练掌握汉字的区位码后,录入汉字的速度是很快的,但若想记忆住全部区位码是相当困难的,常使用于录入特殊符号,如制表符、希腊字母等,这里简单介绍几个区。 部分国际区位编码 区号:01 」各类符号『 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0100 、。· ˉ ˇ ¨ 〃?- ~‖… ' ' " " 【】 0120 々〆〇〈〉《》「〒〓」『± × ÷ ∶∧∨∑ ∏ 0140 ∪∩∈∷√ ?‖∠??∫ ∮≡≌≈ ?∝≠ ≮≯ 0160 ≤ ≥ ∞ ∵∴??°′〃℃$¤ ??‰ § № ☆★ 0180 ○●◎◇◆□■△▲※→ ← ↑ ↓ 』 区号:02 」各类数字『 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0200 ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ??? 0220 ?⊕???⊙?????????????? 0240 ???????????????????? 0260 ???????一二三四五六七八九十 0280 ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ 区号:03 」符号、字母『 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0300 !” #?%&’()*+,-./0 1 2 3 0320 4 5 6 7 8 9 :;<=>?@ A B C D E F G 0340 H I J K L M N O P Q R S T U V W X Y Z 【 0360 \】^_‘ a b c d e f g h i j k l m n o 0380 p q r s t u v w x y z {|}? 区号:06 」罗马字母『 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0600 Α Β Γ Δ Ε Ζ Η Θ Ι Κ ∧Μ Ν Ξ Ο ∏ Ρ ∑ Τ

相关文档
最新文档