频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

c#汉字区位码查询

来源:qqread 作者: 出处:巧巧读书 2007-03-16 进入讨论组

最近有个哥们请我帮他们单位整一个区位码查询的东东。弄了一下,放在这里,请有用的着的哥们参考。有不妥的地方,请大家多提意见。

原理:

////汉字的区位码算法: 
////((汉字的第一个字节-0xa1)*94+(汉字的第二个字节-0xa1))*32 
////区码=汉字的机器码高字节-A0 
////位码=汉字的机器码的低字节-A0 
////汉字文本文件读出的就是汉字的机器吗(用C语言或VB都能实现),两个字节 
////代表一个字的机器吗,高位在前,低位在后 
////如"啊"的区位码为1601,机器吗为B0A1(16进制)


c# 版本
public string TextToQwm(string character) 

         { 

              string coding = "";  
             int i1=0,i2=0,i3=0; 
              for (int i = 0; i0 && 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> 
图 文 结 合:http://www.qqread.com/csharp/v303694.html 更多文章 更多内容请看SQL Server 索引和查询专题专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章