[英]Convert Chinese characters into XML/HTML-style numerical entities and into Unicode UTF-8?
我將英文單詞和漢字混合使用,我想將文本轉換為英文單詞和漢字的XML / HTML樣式數字實體的混合。
例如,以下英語單詞,數字和漢字的混合
Title: 目錄.doc
Level: 1
PageNumber: 1
Begin
Title: 1 C語言概述
Level: 1
PageNumber: 13
BeginTitle: 1.1 C語言的發展過程
Level: 2
PageNumber: 13
Begin
Title: 1.2 當代最優秀的程序設計語言
將變為以下內容,將中文字符替換為其XML / HTML樣式的數字實體:
Title: 目录.doc
Level: 1
PageNumber: 1
Begin
Title: 1 C语言概述
Level: 1
PageNumber: 13
Begin
Title: 1.1 C语言的发展过程
Level: 2
PageNumber: 13
Begin
Title: 1.2 当代最优秀的程序设计语言
我想知道是否可以用Python編寫程序嗎?
還可以編程將漢字轉換為Unicode UTF-8代碼嗎?
提前致謝!
如果s
是一個Unicode字符串,則s.encode('ascii', 'xmlcharrefreplace')
在python 2中,您可以嘗試s.decode('utf_8').encode('ascii', 'xmlcharrefreplace')
這適用於python 3。
s = '''
Title: 目錄.doc
Level: 1
PageNumber: 1
Begin
Title: 1 C語言概述
Level: 1
PageNumber: 13
BeginTitle: 1.1 C語言的發展過程
Level: 2
PageNumber: 13
Begin
Title: 1.2 當代最優秀的程序設計語言
'''
print(s.encode('ascii', 'xmlcharrefreplace').decode('utf_8'))
或者,您可以編寫自己的代碼
res = []
for b in s:
o = ord(b)
if o > 255:
res.append('&#{};'.format(o))
else:
res.append(b)
res_string = ''.join(res)
print(res_string)
兩個輸出:
Title: 目录.doc
Level: 1
PageNumber: 1
Begin
Title: 1 C语言概述
Level: 1
PageNumber: 13
BeginTitle: 1.1 C语言的发展过程
Level: 2
PageNumber: 13
Begin
Title: 1.2 当代最优秀的程序设计语言
您可以使用ord()
函數獲取unicode代碼
c = '錄'
code = ord(c)
print(code, hex(code))
輸出:
24405 0x5f55
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.