python 漢字轉拼音 獲取首字母

2021-10-10 17:54:51 字數 2037 閱讀 3220

方式

一、通過第三方庫 

import pinyin

print(pinyin.get('漢字'))

# 獲取首字母,可將中文字串轉為中文列表 然後獲取每乙個漢字的拼音字串取第乙個然後拼接即可

print(pinyin.get('漢'))[0]

方式

二、通過編碼對比

def single_get_first(unicode1):

str1 = unicode1.encode('gbk')

try:

ord(str1)

return str1

except:

asc = str1[0] * 256 + str1[1] - 65536

if asc >= -20319 and asc <= -20284:

return 'a'

if asc >= -20283 and asc <= -19776:

return 'b'

if asc >= -19775 and asc <= -19219:

return 'c'

if asc >= -19218 and asc <= -18711:

return 'd'

if asc >= -18710 and asc <= -18527:

return 'e'

if asc >= -18526 and asc <= -18240:

return 'f'

if asc >= -18239 and asc <= -17923:

return 'g'

if asc >= -17922 and asc <= -17418:

return 'h'

if asc >= -17417 and asc <= -16475:

return 'j'

if asc >= -16474 and asc <= -16213:

return 'k'

if asc >= -16212 and asc <= -15641:

return 'l'

if asc >= -15640 and asc <= -15166:

return 'm'

if asc >= -15165 and asc <= -14923:

return 'n'

if asc >= -14922 and asc <= -14915:

return 'o'

if asc >= -14914 and asc <= -14631:

return 'p'

if asc >= -14630 and asc <= -14150:

return 'q'

if asc >= -14149 and asc <= -14091:

return 'r'

if asc >= -14090 and asc <= -13119:

return 's'

if asc >= -13118 and asc <= -12839:

return 't'

if asc >= -12838 and asc <= -12557:

return 'w'

if asc >= -12556 and asc <= -11848:

return 'x'

if asc >= -11847 and asc <= -11056:

return 'y'

if asc >= -11055 and asc <= -10247:

return 'z'

return ''

def getpinyin(string):

if string == none:

return none

lst = list(string)

charlst =

for l in lst:

return ''.join(charlst)

print(getpinyin('漢字』))

漢字轉拼音或轉拼音首字母

漢字轉拼音或轉拼音首字母 public class chinesetospell private static string pyname new string 把漢字轉換成拼音 全拼 漢字字串 轉換後的拼音 全拼 字串 public static string characterconvertst...

漢字轉拼音或轉拼音首字母

漢字轉拼音或轉拼音首字母 public class chinesetospell private static string pyname new string 把漢字轉換成拼音 全拼 漢字字串 轉換後的拼音 全拼 字串 public static string characterconvertst...

漢字轉拼音首字母

public string hz2py string hz 獲得漢字的區位碼 else if tmp 45253 tmp 45760 else if tmp 47761 tmp 46317 else if tmp 46318 tmp 46825 else if tmp 46826 tmp 47009...