Dzwebs.Net

撰写电脑技术杂文十余年

使用CHAR函数实现汉字与区位码之间的相互转换

Admin | 2009-8-5 13:11:33 | 被阅次数 | 9906

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  怎样用函数计算汉字的区位码,比如a1=吴,b1用公式得4666。

  反之已知区位码,怎样得汉字。

  区位码是与汉字一一对应的编码,用四位数字表示,前两位从01到94称区码,后两位从01到94称位码。 一个汉字的前一半是 ASCⅡ码为“160+区码”的字符,后一半是ASCⅡ码为“160+ 位码”的字符。每区256字。

  如:A1=4666    (INT(A1/100)+160)*256或(LEFT(A1,2)+160)*256 就是所在区以前的ANSI字符集字符的数,MOD(B1,100)+160或RIGHT(A1,2)+160要查区位码在本区ANSI字符集的位置。两者相加为要查值的汉字编码。CHAR函数处理就得到汉字了。所以公式为=CHAR((LEFT(A1,2)+160)*256+RIGHT(A1,2)+160)或=CHAR((INT(A1/100)+160)*256+MOD(A1,100)+160),返回“吴”。

  现在看看反函数

  A1为吴   (INT(CODE(A1)/256)-160)就是所在的区,MOD(CODE(A1),256)-160就是要查汉字所在区的位,区码*100+位码就是区位码,又因为区位码是固定4位,所以公式为=TEXT((INT(CODE(A1)/256)-160)*100+MOD(CODE(A1),256)-160,"0000"),返回“4666”。


该杂文来自: Excel杂文

上一篇:Excel如何提取汉字拼音的首字母

下一篇:使用VBA向Excel菜单栏添加新菜单的通用方法

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计