Vb.net汉字转拼字,在线拼音转换汉字互转

如何用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怎么把汉字转换为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

gb2312>unicode>utf8, 以及逆转的方法'>VB.net 字符转换问题 字符(汉字、数字、字母、符号)>gb2312>unicode>utf8, 以及逆转的方法

字符编码转换吗?

1.字符与gb2312(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

2.Unicode字符串为UTF-8

Imports System.Text

Public Function StringAsUtf8Bytes(ByVal strData As String) As Byte()

Dim bytes() As Byte

bytes = Encoding.UTF8.GetBytes(strData)

Return bytes

End Function

'这里可以类推出好几种。


网站题目:Vb.net汉字转拼字,在线拼音转换汉字互转
文章路径:http://hxwzsj.com/article/hshcoh.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 网站制作 网站制作 达州网站设计 成都企业网站建设公司 重庆电商网站建设 成都响应式网站建设 成都网站制作 企业手机网站建设 成都网站制作 高端网站设计 网站制作 app网站建设 成都品牌网站建设 四川成都网站制作 成都网站设计 教育网站设计方案 成都定制网站建设 成都网站设计 重庆网站建设 成都网站制作 成都网站建设 网站建设公司