python unicodedata用法- 程式人生
文章推薦指數: 80 %
UCD是Unicode字元資料庫(Unicode Character DataBase)的縮寫。
UCD由一些描述Unicode字元屬性和內部關係的純文字或html檔案組成。
程式人生>>pythonunicodedata用法
pythonunicodedata用法
阿新••發佈:2019-02-18
UCD是Unicode字元資料庫(UnicodeCharacterDataBase)的縮寫。
UCD由一些描述Unicode字元屬性和內部關係的純文字或html檔案組成。
UCD中的文字檔案大都是適合於程式分析的Unicode相關資料。
其中的html檔案解釋了資料庫的組織,資料的格式和含義。
UCD中最龐大的檔案無疑就是描述漢字屬性的檔案Unihan.txt。
在UCD5.0,0中,Unihan.txt檔案大小有28,221K位元組。
Unihan.txt中包含了很多有參考價值的索引,例如漢字部首、筆劃、拼音、使用頻度、四角號碼排序等。
這些索引都是基於一些比較權威的辭典,但大多數索引只能檢索部分漢字。
unicodedata.lookup(name)
通過名稱來查詢一個字元。
如果字元存在就返回相應字元,如果不存在丟擲異常KeyError。
>>>importunicodedata
>>>print(unicodedata.lookup('LEFTCURLYBRACKET'))
{
>>>print(unicodedata.lookup('LEFT'))
Traceback(mostrecentcalllast):
File"
如果成功返回相應名稱,否則丟擲異常ValueError。
>>>importunicodedata
>>>print(unicodedata.name('{'))
LEFTCURLYBRACKET
>>>print(unicodedata.name('@'))
COMMERCIALAT
>>>print(unicodedata.name('{{'))
Traceback(mostrecentcalllast):
File"
如果給一個沒有數字的值時,會丟擲異常ValueError。
>>>importunicodedata
>>>print(unicodedata.decimal('7'))
7
>>>print(unicodedata.decimal('7a'))
Traceback(mostrecentcalllast):
File"
如果非法的字串,丟擲異常ValueError。
>>>importunicodedata
>>>print(unicodedata.digit('9',None))
9
>>>print(unicodedata.digit('9a',None))
Traceback(mostrecentcalllast):
File"
比如可以把‘8’,‘四’轉換數值輸出。
與digit()不一樣的地方是它可以任意表示數值的字元都可以,不僅僅限於0到9的字元。
如果不是合法字元,會丟擲異常ValueError。
>>>importunicodedata
>>>print(unicodedata.numeric('四',None))
4.0
>>>print(unicodedata.numeric('8',None))
8.0
>>>print(unicodedata.numeric('8a',None))
Traceback(mostrecentcalllast):
File"
具體型別如下:
CodeDescription
[Cc]Other,Control
[Cf]Other,Format
[Cn]Other,NotAssigned(nocharactersinthefilehavethisproperty)
[Co]Other,PrivateUse
[Cs]Other,Surrogate
[LC]Letter,Cased
[Ll]Letter,Lowercase
[Lm]Letter,Modifier
[Lo]Letter,Other
[Lt]Letter,Titlecase
[Lu]Letter,Uppercase
[Mc]Mark,SpacingCombining
[Me]Mark,Enclosing
[Mn]Mark,Nonspacing
[Nd]Number,DecimalDigit
[Nl]Number,Letter
[No]Number,Other
[Pc]Punctuation,Connector
[Pd]Punctuation,Dash
[Pe]Punctuation,Close
[Pf]Punctuation,Finalquote(maybehavelikePsorPedependingonusage)
[Pi]Punctuation,Initialquote(maybehavelikePsorPedependingonusage)
[Po]Punctuation,Other
[Ps]Punctuation,Open
[Sc]Symbol,Currency
[Sk]Symbol,Modifier
[Sm]Symbol,Math
[So]Symbol,Other
[Zl]Separator,Line
[Zp]Separator,Paragraph
[Zs]Separator,Space
>>>importunicodedata
>>>print(unicodedata.category('四'))
Lo
>>>print(unicodedata.category('8'))
Nd
>>>print(unicodedata.category('a'))
Ll
>>>
unicodedata.bidirectional(chr)
把一個字元給出它的分類,以便進行從左到右,還是從右到左的排列。
如果沒有定義,返回空字串。
>>>importunicodedata
>>>print(unicodedata.bidirectional('9'))
EN
>>>
>>>print(unicodedata.bidirectional(u'\u0660'))
AN
>>>
>>>print(unicodedata.bidirectional('中'))
L
>>>
>>>print(unicodedata.bidirectional('a'))
L
>>>
>>>print(unicodedata.category(u'\u0660'))
Nd
>>>
其中EN表示EnglishNumber,AN表示ArabicNumber,L表示Letter,Nd是表示NumberDecimal。
unicodedata.combining(chr)
把字元的權威組合值返回,如果沒有定義,預設是返回0。
當正規化操作時,可以根據這個值進行排序,大的值排在小的值後面。
>>>importunicodedata
>>>print(unicodedata.combining('9'))
0
>>>
>>>print(unicodedata.combining('A'))
0
>>>
unicodedata.east_asian_width(chr)
把字元顯示的寬度返回。
具體內容如下:
‘F’(Fullwidth),‘H’(Halfwidth),‘W’(Wide),‘Na’(Narrow),‘A’(Ambiguous)or‘N’(Natural).
>>>importunicodedata
>>>print(unicodedata.east_asian_width('9'))
Na
>>>
>>>print(unicodedata.east_asian_width('A'))
Na
>>>
>>>print(unicodedata.east_asian_width('蔡'))
W
>>>
unicodedata.mirrored(chr)
判斷一個字元是否支援映象屬性,如果支援返回1,否則返回0.
>>>importunicodedata
>>>print(unicodedata.mirrored('9'))
0
>>>
>>>print(unicodedata.mirrored('A'))
0
>>>
>>>print(unicodedata.mirrored('蔡'))
0
>>>
unicodedata.decomposition(chr)
把一個可分解的字元分成兩個16進位制的值返回,如果不可分解,返回空。
>>>importunicodedata
>>>print(unicodedata.decomposition('9'))
>>>
>>>print(unicodedata.decomposition('-'))
>>>
>>>print(unicodedata.decomposition('蔡'))
>>>
>>>print(unicodedata.decomposition('ガ'))
30AB3099
>>>
unicodedata.normalize(form,unistr)
把一串UNICODE字串轉換為普通格式的字串,具體格式支援NFC、NFKC、NFD和NFKD格式。
一些文字元素即可以使用靜態的預先組合好的形式,也可使用動態組合的形式。
Unicode字元的不同表示序列被認為是等價的。
如果兩個或多個序列被認為是等價的,Unicode標準不規定哪一種特定的序列是正確的,而認為每一個序列只不過與其它序列等價。
如果需要一種單一的單一的表示方式,可以使用一種規範化的Unicode文字形式來減少不想要區別。
Unicode標準定義了四種規範化形式:NormalizationFormD(NFD),NormalizationFormKD(NFKD),NormalizationFormC(NFC),和NormalizationFormKC(NFKC)。
大約來說,NFD和NFKD將可能的字元進行分解,而NFC和NFKC將可能的字元進行組合。
>>>importunicodedata
>>>print(unicodedata.normalize('NFKD',u'aあä').encode('ascii','ignore'))
b'aa'
>>>
>>>title=u"Klüftskrämsinförpåfédéralélectoralgroße"
>>>printtitle.encode(‘ascii’,'ignore’)
Klftskrmsinfrpfdrallectoralgroe
#可以看到丟了許多的字元
>>>importunicodedata
>>>unicodedata.normalize('NFKD',title).encode('ascii','ignore')
'Kluftskramsinforpafederalelectoralgroe'
unicodedata.unidata_version
返回當前Unicode使用的資料庫的版本。
unicodedata.ucd_3_2_0
提供ucd3.2的物件方式訪問,以便相容舊的IDNA的應用程式。
>>>importunicodedata
>>>print(unicodedata.unidata_version)
9.0.0
>>>
>>>print(unicodedata.ucd_3_2_0)
Android6.0開機動畫(二)AMS通知系統啟動&WMS通知SurfaceFlinger關閉開機動畫
«上一篇
Oracle字符集的檢視和Oracle字符集的設定修改下一篇»
相關推薦
pythonunicodedata用法
UCD是Unicode字元資料庫(UnicodeCharacterDataBase)的縮寫。
UCD由一些...
python小白(無編程基礎,無計算機基礎)的開發之路輔助知識3pythonos用法
padding我們.somtimemageos.chdir實現exists返回
獲取文件所在路徑
impo...
關於#!/usr/bin/envpython的用法
查找linux中mangpo安裝不同的linux啟動log在linux的一些腳本裏,需在開頭一行指定腳本的...
reducepython的用法
placedposappdefaulttoolvaluenbspgpotoo1.查看reduce的用法
...
python--open用法
gpopytho字符串默認noticeclasfilterredoemopen/文件操作f=open(‘/...
python-logging用法
formatgernameformatteroggotstimenbspmat1,引入logging程序...
pythonargparse用法總結
計算註意get一行falselB數學計算validelse轉:pythonargparse用法總結
1...
python:datetime用法
romimport小時當前日期格printint用法pytho>>importdatetim...
python:random用法
pythonpythoavaport個數....隨機生成samrange>>importra...
pythonargparse用法
argumentsturnargparsechoiceurnwinromimpmat示例一
創建文件pro...
搜尋
基礎教學
Mysql入門
Sql入門
Android入門
Docker入門
Go語言入門
Ruby程式入門
Python入門
Python進階
Django入門
Python爬蟲入門
最近訪問
python+unicodedata用法
VMware安裝CentOS之三——CentOS網絡設置及軟件安裝
JSON字串Gson,JSONObject解析中文亂碼,介面
android+修改標題欄文字居中
【Java基礎知識】switch表示式、case穿透、default、switch結束條件
Destination+host+unreachable?
bzoj1688+[Usaco2005+Open]Disease+Manangement+疾病管理
Ask+HN:+Anyone+else+having+problems+with+delivery+of+Lily
Linux+實時性能測試工具——Cyclictest+的使用與分析
ESXi主機+查看硬盤健康信息(SMART)
延伸文章資訊
- 1瞭解Unicode — Python Tutorial 0.1 說明文件
Python的Unicode支援¶ · # -*- coding: utf8 -*- · SyntaxError: Non-ASCII character '\xe4' in file D:\e...
- 2python中unicode编码转换为中文
unicode编码转换为中文有四种:1、使用unicode_escape 解码;2、使用encode()方法转换,再调用bytes.decode()转换为字符串形式;3、使用json.loads...
- 3Python 字符串 - 菜鸟教程
Python 支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符% ...
- 4python unicodedata用法- 程式人生
UCD是Unicode字元資料庫(Unicode Character DataBase)的縮寫。 UCD由一些描述Unicode字元屬性和內部關係的純文字或html檔案組成。
- 5关于python中的unicode字符串的使用_KEL-1的博客
python对unicode的支持. ... 1、 程序中出现字符串的地方加前缀u,表示为unicode类型 ... coding:utf-8 -*- #声明为unicode编码文件,否则会报错.