积极答复者
谁知道怎么用算法提取汉字的声母

问题
答案
-
LiZhePro 你好,
如果你仅仅是为了根据拼音排序,不用提取汉字的声母,直接通过Ascii来就是了。一下这个帖子详细地说了关于汉字编码的问题。
http://topic.csdn.net/t/20020824/14/966782.html还有一点是有些控件应该已经支持按照当前计算机的Culture来排序的,例如,DataGridView, ListView, ListBox。你应该用的是中文系统吧,难道不支持排序?
Sincerely,
Kira Qian
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework!- 已标记为答案 LiZhePro 2010年1月22日 3:34
全部回复
-
谢谢,很有用,但是我现在学的是vb6.0 这段代码谁能帮我看看,帮我转成vb6.0的,谢谢了!
Public Function GetPinYin(ByVal str As String) As String
Dim pinyin As Char
Dim c As Char
Dim array() As Byte
Dim i As Integer
Dim sb As New System.Text.StringBuilder(str.Length)
For Each c In str.ToCharArray
pinyin = c
array = System.Text.Encoding.Default.GetBytes(New Char() {c})
If array.Length = 2 Then
i = array(0) * &H100 + array(1)
If i < &HB0A1 Then
pinyin = c
ElseIf i < &HB0C5 Then
pinyin = "a"
ElseIf i < &HB2C1 Then
pinyin = "b"
ElseIf i < &HB4EE Then
pinyin = "c"
ElseIf i < &HB6EA Then
pinyin = "d"
ElseIf i < &HB7A2 Then
pinyin = "e"
ElseIf i < &HB8C1 Then
pinyin = "f"
ElseIf i < &HB9FE Then
pinyin = "g"
ElseIf i < &HBBF7 Then
pinyin = "h"
ElseIf i < &HBFA6 Then
pinyin = "g"
ElseIf i < &HC0AC Then
pinyin = "k"
ElseIf i < &HC2E8 Then
pinyin = "l"
ElseIf i < &HC4C3 Then
pinyin = "m"
ElseIf i < &HC5B6 Then
pinyin = "n"
ElseIf i < &HC5BE Then
pinyin = "o"
ElseIf i < &HC6DA Then
pinyin = "p"
ElseIf i < &HC8BB Then
pinyin = "q"
ElseIf i < &HC8F6 Then
pinyin = "r"
ElseIf i < &HCBFA Then
pinyin = "s"
ElseIf i < &HCDDA Then
pinyin = "t"
ElseIf i < &HCEF4 Then
pinyin = "w"
ElseIf i < &HD1B9 Then
pinyin = "x"
ElseIf i < &HD4D1 Then
pinyin = "y"
ElseIf i < &HD7FA Then
pinyin = "z"
End If
End If
sb.Append(pinyin)
Next
Return sb.ToString()
End Function -
-
LiZhePro 你好,
如果你仅仅是为了根据拼音排序,不用提取汉字的声母,直接通过Ascii来就是了。一下这个帖子详细地说了关于汉字编码的问题。
http://topic.csdn.net/t/20020824/14/966782.html还有一点是有些控件应该已经支持按照当前计算机的Culture来排序的,例如,DataGridView, ListView, ListBox。你应该用的是中文系统吧,难道不支持排序?
Sincerely,
Kira Qian
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework!- 已标记为答案 LiZhePro 2010年1月22日 3:34