新聞中心
VB.NET中怎么實(shí)現(xiàn) 漢字轉(zhuǎn)換拼音呢
建立一個(gè)表,每個(gè)拼音都跟多個(gè)漢字對(duì)應(yīng)。可以通過漢字,找出對(duì)應(yīng)的一個(gè)拼音,也可以通過拼音,找出一堆漢字。
站在用戶的角度思考問題,與客戶深入溝通,找到儀征網(wǎng)站設(shè)計(jì)與儀征網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋儀征地區(qū)。
請(qǐng)教大家,vb.net 怎樣將漢字轉(zhuǎn)換成拼音簡(jiǎn)嗎
public string hz2py(string hz) //獲得漢字的區(qū)位碼
{
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);
gb2312>unicode>utf8, 以及逆轉(zhuǎn)的方法'>VB.net 字符轉(zhuǎn)換問題 字符(漢字、數(shù)字、字母、符號(hào))>gb2312>unicode>utf8, 以及逆轉(zhuǎn)的方法
字符編碼轉(zhuǎn)換嗎?
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中都是以u(píng)nicode編碼存儲(chǔ)的
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
'轉(zhuǎn)化為字節(jié)碼
For i As Integer = 1 To n
sBytes(i - 1) = CByte("H" sInput.Substring(2 * i - 2, 2))
Next
'將字節(jié)碼轉(zhuǎn)化為字符串
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 2008 如何將簡(jiǎn)體中文跟繁體中文互轉(zhuǎn)呢?
原來還有這么個(gè)功能,那有沒有轉(zhuǎn)換為拼音的方法?
我比你運(yùn)氣好,兩個(gè)都有效:
Public?Class?Form1
Private?Declare?Function?LCMapString?Lib?"kernel32"?Alias?"LCMapStringA"?(ByVal?Locale?As?Integer,?ByVal?dwMapFlags?As?Integer,?ByVal?lpSrcStr?As?String,?ByVal?cchSrc?As?Integer,?ByVal?lpDestStr?As?String,?ByVal?cchDest?As?Integer)?As?Integer
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Dim?cString?As?String?=?"中華人民共和國"
cString?=?(StrConv(cString,?VbStrConv.TraditionalChinese))
MsgBox(cString)
cString?=?(StrConv(cString,?VbStrConv.SimplifiedChinese))
MsgBox(cString)
Dim?rString?As?String?=?Space(14)
LCMapString(H804,?H4000000,?cString,?14,?rString,?14)
MsgBox(rString)
cString?=?rString
LCMapString(H804,?H2000000,?cString,?14,?rString,?14)
MsgBox(rString)
End?Sub
End?Class
StrConv參數(shù)不對(duì),api 函數(shù)Long型要改為Integer類型。
網(wǎng)站題目:vb.net轉(zhuǎn)換拼音簡(jiǎn)碼 vb語言翻譯成中文
文章轉(zhuǎn)載:http://www.ef60e0e.cn/article/dddegic.html