與ord()
命令和Unicode有一些問題。在python中獲取ASCII Int與ord()的德語umlaute(ÄÖÖ)
我想輸入的ASCII字母的十進制數。
例如:
ord('ÄÖÜ')
由此想到這些值:[195,132,195,150,195,156]
- [195132] = A
- [195150] = Ö
- [195156] = U
這就是我想要的東西:
- [196] = A
- [214] = O
- [220] = U
任何線索?
與ord()
命令和Unicode有一些問題。在python中獲取ASCII Int與ord()的德語umlaute(ÄÖÖ)
我想輸入的ASCII字母的十進制數。
例如:
ord('ÄÖÜ')
由此想到這些值:[195,132,195,150,195,156]
這就是我想要的東西:
任何線索?
這個工作對我來說:
>>> [ord(i) for i in unicode('ÄÖÜ','utf-8')]
[196, 214, 220]
這就像一個魅力,非常感謝:-) –
你想要的Unicode碼點,而不是在UTF-8編碼的字節:
>>> mystring = u'ÄÖÜ'
>>> [ord(c) for c in mystring]
[196, 214, 220]
如果我的字符串放在python本身,它放在一個變量中的字符串中,這可能會起作用,但是這也可以起作用,謝謝很多:) –
我的答案和羅伯特的唯一區別是使用Unicode文字與調用'unicode';兩者都產生相同的Unicode對象,受制於默認的字符編碼。 (在我的回答中,Unicode字面值使用任何字符編碼生效;在Robert的字符串字面值中,作爲第一個參數必須是UTF-8,或者第二個參數是錯誤的。) – chepner
Ahh我看到了,我可以使用該Unicode字符關於變量呢? –
[這](http://stackoverflow.com/questions/23271542/rpython-ord-with-non-ascii-character)和[this](http://stackoverflow.com/questions/1342000/how-to-make-the-python-interpreter-correctly-handle-非ascii-characters-in-stri)可能有幫助 –