vb.net汉字区位 vb显示文字代码

如何用vb.net将汉字转换成拼音阿

public string hz2py(string hz) //获得汉字的区位码

为云南等地区用户提供了全套网页设计制作服务,及云南网站建设行业解决方案。主营业务为成都网站设计、网站制作、云南网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

{

byte[] sarr = System.Text.Encoding.Default.GetBytes(hz);

int len = sarr.Length;

if (len1)

{

byte[] array = new byte[2];

array = System.Text.Encoding.Default.GetBytes(hz);

int i1 = (short)(array[0] - '\0');

int i2 = (short)(array[1] - '\0');

//unicode解码方式下的汉字码

// array = System.Text.Encoding.Unicode.GetBytes(hz);

// int i1 = (short)(array[0] - '\0');

// int i2 = (short)(array[1] - '\0');

// int t1 = Convert.ToInt32(i1,16);

// int t2 = Convert.ToInt32(i2,16);

int tmp=i1*256+i2;

string getpychar="*";//找不到拼音码的用*补位

if(tmp=45217tmp=45252){getpychar= "A";}

else if(tmp=45253tmp=45760){getpychar= "B";}

else if(tmp=47761tmp=46317){getpychar= "C";}

else if(tmp=46318tmp=46825){getpychar= "D";}

else if(tmp=46826tmp=47009){getpychar= "E";}

else if(tmp=47010tmp=47296){getpychar= "F";}

else if(tmp=47297tmp=47613){getpychar= "G";}

else if(tmp=47614tmp=48118){getpychar= "H";}

else if(tmp=48119tmp=49061){getpychar= "J";}

else if(tmp=49062tmp=49323){getpychar= "K";}

else if(tmp=49324tmp=49895){getpychar= "L";}

else if(tmp=49896tmp=50370){getpychar= "M";}

else if(tmp=50371tmp=50613){getpychar= "N";}

else if(tmp=50614tmp=50621){getpychar= "O";}

else if(tmp=50622tmp=50905){getpychar= "P";}

else if(tmp=50906tmp=51386){getpychar= "Q";}

else if(tmp=51387tmp=51445){getpychar= "R";}

else if(tmp=51446tmp=52217){getpychar= "S";}

else if(tmp=52218tmp=52697){getpychar= "T";}

else if(tmp=52698tmp=52979){getpychar= "W";}

else if(tmp=52980tmp=53640){getpychar= "X";}

else if(tmp=53689tmp=54480){getpychar= "Y";}

else if(tmp=54481tmp=55289){getpychar= "Z";}

return getpychar;

}

else

{

return hz;

}

}

public string transpy(string strhz) //把汉字字符串转换成拼音码

{

string strtemp="";

int strlen=strhz.Length;

for (int i=0;i=strlen-1;i++)

{

strtemp+=hz2py(strhz.Substring(i,1));

}

return strtemp;

}

create table tabpy(id int identity,b_begin varbinary(2),b_end varbinary(2),word varchar(2))

insert tabpy select 0xB0A1, 0xB0C4,'A'

union all select 0xB0C5, 0xB2C0,'B'

union all select 0xB2C1, 0xB4ED,'C'

union all select 0xB4EE, 0xB6E9,'D'

union all select 0xB6EA, 0xB7A1,'E'

union all select 0xB7A2, 0xB8C0,'F'

union all select 0xB8C1, 0xB9FD,'G'

union all select 0xB9FE, 0xBBF6,'H'

union all select 0xBBF7, 0xBFA5,'J'

union all select 0xBFA6, 0xC0AB,'K'

union all select 0xC0AC, 0xC2E7,'L'

union all select 0xC2E8, 0xC4C2,'M'

union all select 0xC4C3, 0xC5B5,'N'

union all select 0xC5B6, 0xC5BD,'O'

union all select 0xC5BE, 0xC6D9,'P'

union all select 0xC6DA, 0xC8BA,'Q'

union all select 0xC8BB, 0xC8F5,'R'

union all select 0xC8F6, 0xCBF9,'S'

union all select 0xCBFA, 0xCDD9,'T'

union all select 0xCDDA, 0xCEF3,'W'

union all select 0xCEF4, 0xD1B8,'X'

union all select 0xD1B9, 0xD4D0,'Y'

union all select 0xD4D1, 0xD7F9,'Z'

函数:

create function getfirstpy(@a varchar(200))

returns varchar(100)

as

begin

declare @i int,@j int,@result varchar(100)

set @result=''

set @i=len(@a)

set @j=1

while @j=@i

begin

select @result=@result+word from tabpy where cast(substring(@a,@j,1) as varbinary(2)) between b_begin and b_end

set @j=@j+1

end

return @result

end

vb.net获得文本框内每个字的位置

可以用多个label来截取文本,然后把一个空的文本框放到中间去。

vb.net怎么把汉字转换为GB2312编码,例如“广东”变成%B9%E3%B6%AB

GB2312是GBK编码的子集,使用GBK编码函数即可

'GBK编码(结果以百分号%进行分隔)

Public Function GBKEncode(ByVal sInput As String) As String

Dim ret_GBKEncode As String = ""

Dim i As Integer

Dim startIndex As Integer = 0

Dim endIndex As Integer

Dim x() As Byte = System.Text.Encoding.Default.GetBytes(sInput) '字符以及字符串在vb2008中都是以unicode编码存储的

endIndex = x.Length - 1

For i = startIndex To endIndex

ret_GBKEncode = "%" Hex(x(i))

Next

Return ret_GBKEncode

End Function

'GBK解码

Public Function GBKDecode(ByVal sInput As String) As String

sInput = sInput.Replace("%", "")

Dim ret_GBKDecode As String = ""

Dim sLen As Integer = sInput.Length

Dim n As Integer = sLen \ 2

Dim sBytes(0 To n - 1) As Byte

'转化为字节码

For i As Integer = 1 To n

sBytes(i - 1) = CByte("H" sInput.Substring(2 * i - 2, 2))

Next

'将字节码转化为字符串

ret_GBKDecode = System.Text.Encoding.Default.GetString(sBytes)

Return ret_GBKDecode

End Function


新闻名称:vb.net汉字区位 vb显示文字代码
网站路径:http://scyanting.com/article/dosidcc.html