区位码查询
最近有个哥们请我帮他们单位整一个区位码查询的东东。弄了一下,放在这里,请有用的着的哥们参考。有不妥的地方,请大家多提意见。
原理:
////汉字的区位码算法:
////((汉字的第一个字节-0xa1)*94+(汉字的第二个字节-0xa1))*32
////
////区码=汉字的机器码高字节-A0
////位码=汉字的机器码的低字节-A0
////汉字文本文件读出的就是汉字的机器吗(用C语言或VB都能实现),两个字节
////代表一个字的机器吗,高位在前,低位在后
////如"啊"的区位码为1601,机器吗为B<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="a"></chmetcnv>0A1(16进制)
c# 版本
public string TextToQwm(string character)
{
string coding = "";
int i1=0,i2=0,i3=0;
for (int i = 0; i<character.Length; i++ )
{
byte[] bytes = System.Text.Encoding.Default.GetBytes(character.substring(i,1)); //取出二进制编码内容
i1 = (short)(bytes[0] );
try
{
i2 = (short)(bytes[1] );
i3=1;
}
catch(Exception ex)
{
i2=65536; i3=-1;
}
finally
{
int chrasc=i1*256+i2-65536;
if (chrasc>0 && chrasc<160)
{
TextBox2.Text="只能能输入汉字!!";
}
else
{
if(i3==-1)
{
TextBox2.Text="只能能输入汉字!!";
}
else
{
string lowCode =System.Convert.ToString(Math.Abs(Convert.ToInt32(System.Convert.ToString(bytes[0]))-160));//取出低字节编码内容(两位16进制)
if (lowCode.Length == 1)
lowCode = "0" + lowCode;
string hightCode = System.Convert.ToString( Math.Abs(Convert.ToInt32(System.Convert.ToString(bytes[1]))-160));//取出高字节编码内容(两位16进制)
if (hightCode.Length == 1)
hightCode = "0" + hightCode;
coding +=character.Substring(i,1) + (lowCode + hightCode) ;//加入到字符串中,}
}
}
}
return coding;
}
vbscript 版本
<SCRIPT LANGUAGE="VBScript">
function genqw()
str=f1.txt1.value
newstr=""
for i=1 to len(str)
newstr=newstr&getqw(mid(str,i,1))
next
f1.txt2.value=newstr
end function
function getqw(ch)
casc=asc(ch)
if casc<0 then casc=casc+65535+1
if casc>255 then
b2=right("0"&((casc and 255)-160),2)
b1=right("0"&(int(casc/256)-160),2)
getqw=ch & " "&b1&b2 &" "
else
getqw=ch
end if
end function
</SCRIPT> function genqw() str=f1.txt1.value newstr="" for i=1 to len(str) newstr=newstr&getqw(mid(str,i,1)) next f1.txt2.value=newstr end function function getqw(ch) casc=asc(ch) if casc<0 then casc=casc+65535+1 if casc>255 then b2=right("0"&((casc and 255)-160),2) b1=right("0"&(int(casc/256)-160),2) getqw=ch & " "&b1&b2 &" " else getqw=ch end if end function function genqw() str=f1.txt1.value newstr="" for i=1 to len(str) newstr=newstr&getqw(mid(str,i,1)) next f1.txt2.value=newstr end function function getqw(ch) casc=asc(ch) if casc<0 then casc=casc+65535+1 if casc>255 then b2=right("0"&((casc and 255)-160),2) b1=right("0"&(int(casc/256)-160),2) getqw=ch & " "&b1&b2 &" " else getqw=ch end if end function
相关阅读
SEO有哪几种常用的查询指令?SEO是网络推广的常用手段,而在SEO判断关键词、网络环境、优化难度的过程中,都要通过搜索引擎详细的
农村淘宝解决了很多农村小伙伴的网购问题,但是还是有很多人不知道如何查询物流,小编接下来就给大家讲一讲农村淘宝物流查询网址吧,希
淘大象排名查询,很多卖家都对淘大象这个软件比较熟悉,淘大象排名查询是很多淘宝卖家都常用的宝贝排名查询工具。淘大象排名查询是现
Oraclet 没有像sql server所支持的top语法,不过可通过rownum控制。rownum没有所谓的小于,只有大于。 –查询前10条数据 select * fr
淘宝店铺权重查询。作为一个淘宝卖家,关注自己的店铺权重,是十分重要的,因为这对自己的销量、流量等影响非常大,在不清楚的时候,就应该