[原]汉字及区位码互转

function getatcode(byval widechar as string * 2) as string
    dim byt(1 to 2) as byte
    static bytptr as dword
    bytptr = varptr(byt(1))
    !   push  esi
    !   push  edi
    !   lea   esi, offset widechar
    !   mov   edi, bytptr
    !   cld
    !   mov   ecx, 1
    !   rep   movsw
    !   pop   edi
    !   pop   esi
    function = "&H" & hex$(byt(1) - &HA0, 2) & hex$(byt(2) - &HA0, 2)
end function

function atcode2char(byval atcode as long) as string
    dim byt(1 to 2) as byte
    static widechar as string * 2, bytptr as dword
    byt(1) = val("&H" & left$(hex$(atcode, 4), 2)) + &HA0
    byt(2) = val("&H" & right$(hex$(atcode, 4), 2)) + &HA0
    bytptr = varptr(byt(1))
    !   push  esi
    !   push  edi
    !   mov   esi, bytptr
    !   lea   edi, offset widechar
    !   cld
    !   mov   ecx, 1
    !   rep   movsw
    !   pop   edi
    !   pop   esi
    function = widechar
end function
时间: 2024-11-10 16:40:39

[原]汉字及区位码互转的相关文章

汉字与区位码互转(转)

源:汉字与区位码互转(天天使用的String存储的是内码),几个常见汉字编码,附有读书笔记 对GBK的理解(内附全部字符编码列表):扩充的2万汉字低字节的高位不等于1,而且还剩许多编码空间没有利用

汉字与区位码互转(Delphi代码,很容易理解)

汉=BABA(内码)=-A0A0=2626(区位码)字=D7D6(内码)=-A0A0=5554(区位码) //汉字转区位码function Str2GB(const S: AnsiString): string; const G = 160; // 160 = hA0 var n, m: word;begin n := Ord(S[1]); m := Ord(S[2]); Result := FormatFloat('00', n-G) + FormatFloat('00', m-G);end;

JavaScript 汉字与拼音互转终极方案 附JS拼音输入法

前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字典文件,无法根据实际需要满足需求. 综上,我精心整理并修改了网上几种常见的字典文件并简单封装了一下可以直接拿来用的工具库. 代码和DEMO演示 github项目地址:https://github.com/liuxianan/pinyinjs 完整demo演示:http://demo.liuxiana

JS版汉字与拼音互转终极方案,附简单的JS拼音输入法

原文:http://www.cnblogs.com/liuxianan/p/pinyinjs.html 前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字典文件,无法根据实际需要满足需求. 综上,我精心整理并修改了网上几种常见的字典文件并简单封装了一下可以直接拿来用的工具库. 这篇文章差不多一个月前就写好了大部分了,但是就差拼音输入法这一块一直没时

JS版汉字与拼音互转终极方案,附简单的JS拼音

前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字典文件,无法根据实际需要满足需求. 综上,我精心整理并修改了网上几种常见的字典文件并简单封装了一下可以直接拿来用的工具库. 代码和DEMO演示 github项目地址:https://github.com/liuxianan/pinyinjs 完整demo演示:http://demo.liuxiana

16进制和汉字之间的互转!《转》

/****************************16进制转汉字***********************************/AnsiString TForm1::Hex_To_Chinese(AnsiString Hex){        //中英文数字参杂在一起也可以转换        AnsiString ret;        for(int i=1; i<Hex.Length()+1; i += 2)        {                AnsiStrin

winform学习日志(二十七)----------unicode编码、字符的转换和得到汉字的区位码

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

c#区位码与汉字相互转换

转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688 区位码用四位数字表示,前两位称区码(01到94),后两位称位码(01到94). 一个汉字的前一半是ASCII码为"160+区码"的字符,后一半是ASCII友为"160+位码"的字符. 汉字转区位码的过程: 首先得到汉字的字节数组,将字节数组的第一位和第二位分别减160,再连接成字符串就组成汉字区位码. /// <summary> /// 汉字转区位码方法 /// </

C#汉字转拼音(支持多音字)

阅读目录 首先在nuget引用对应的包 简单的demo 汉字转拼音类封装 源码分享 之前由于项目需要,中间需要一个汉字转拼音和首拼的功能来做查询,感觉这种功能基本已经成熟化了,于是查找了相关的代码,首先引入眼帘的是下面两篇文章 1.C# 汉字转拼音(支持GB2312字符集中所有汉字) 2.[干货]JS版汉字与拼音互转终极方案,附简单的JS拼音输入法 感谢两位博主,写的比较全也很详细,都有提供源码,大家可以参考下. 由于考虑到接口的需要,于是参考了 第一篇,文章中作者的源码基本能满足汉字转拼音的需