python中ascii函式 ascii函式

2021-10-11 02:21:05 字數 811 閱讀 1983

python內建了乙個ascii函式,此函式的作用於repr函式和str函式基本相同,不同的是,ascii函式只能返回ascii字元,對於非ascii字元,它會使用\x,\u等escape的方式進行轉義。

repr函式呼叫物件的__repr__函式;str函式呼叫物件的__str__函式。而ascii函式其實也是呼叫__repr__函式,只是會對__repr__函式返回的字串進行ascii化處理。

>>> a = '12345abcde'

>>> str(a)

'12345abcde'

>>> repr(a)

"'12345abcde'"

>>> ascii(a)

"'12345abcde'"

下面我們在**中加點中文:

>>> b = '麥新傑的pynote.net'

>>> str(b)

'麥新傑的pynote.net'

>>> repr(b)

"'麥新傑的pynote.net'"

>>> ascii(b)

"'\\u9ea6\\u65b0\\u6770\\u7684pynote.net'"

>>> print(ascii(b))

'\u9ea6\u65b0\u6770\u7684pynote.net'

>>> eval(ascii(b))

'麥新傑的pynote.net'

4個中文字元,在ascii函式中被轉換成了\\u開始的表達方式。

這就是python內建的ascii函式的作用,很簡單,在純英文的環境下,用來代替repr函式是可以的。

-- eof --

關於ASCII 函式

例如 select ascii 123 as 123 asc 123 as 123 ascii abc as abc 的返回值是 49 49 97 該函式返回的是字元表示式最左端字元的ascii 值 問題點 1。ascii 123 的最左端是 1 應該返回的是 1 呀,為什麼是 49 2。ascii...

Oracle中的CHR 函式與ASCII 函式

近日在資料表的操作中,想將表中某字段值裡的回車換行符替換掉,很自然的想到用replace desc,r n 但是未能生效。經查閱發現,正確的做法應該是用replace desc,chr 13 chr 10 chr 函式之前未使用過,所以做個記錄。chr 將ascii碼轉換為字元 語法chr numb...

python中字母與ascii碼的相互轉換

ord c 引數是長度為1的字串,簡稱字元。當引數為統一物件時 unicode object 返回能代表該字元的統一編碼,當引數為8位元的字串時,返回該位元組的值。例如,ord a 返回整形數值97,ord u u2020 返回8224。chr i 返回乙個字元,字元的ascii碼等於引數中的整形數...