判斷字符是否爲中文

UNICODE與UTF-8的聯繫

字符編碼筆記:ASCII,Unicode和UTF-8

    http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.htmlhtml

判斷字符是否爲中文

採用unicode編碼格式下:python

\u4e00-\u9fa5多是用來判斷是否是中文的一個條件。 \u4E00 -- \u9FA5函數

def __call__(self,value):
        if not all([True if i >= u'\u4e00' and i <= u'\u9fa5' else False for i in value]):
            raise ValidationError(self.message, code=self.code)

英文字母ASCII值

ascii值 圖形
48 - 57 '0' - '9'
65 - 90 'A’- 'Z'
97 - 122 'a' - 'z'

 

python中字符轉換常見函數:

進制轉換

int(x) # 字符串/整數(以10爲基底,即字符串包含的字符都爲‘0’-‘9’) --> 十進制整數
       # int('10') --> 10
int(x, base) # 以base爲基底的字符串 --> 十進制整數
             # base取值爲[2 - 36] a-z/A-Z表示10-35
             # if base = 2, 則字符串可包含'0b'/'0B'         int('0b11', 2) --> 2
             #           8              '0o'/'0O'/'0'     int('0O75', 8) --> 61
             #           16             '0x'/'0X'         int('0xA5', 16) --> 165


bin() # 整數 --> 其二進制字符串(以‘0b’開頭),若是輸入不是int對象,則它必須返回該對象的__index__()方法
      # bin(25) --> '0b11001'

oct() # 整數 --> 其八進制字符串(以‘0o’開頭)
      # oct(25) --> '0o31'

hex() # 整數 --> 其十六進制字符串(以‘0x’開頭)
      # hex(25) --> '0x19'

字符和unicode編碼轉換

ord()  # 若是參數爲單字符,則返回ascii表該字符對應的整數
       # 若是參數爲形如 u'\u0061', 則返回該unicode字符的字節值
       # ord('a') --> 97
       # ord(u'\u0061') --> 97

chr(i) # 整數(取值爲[0,255]) --> 單字字符,該字符的ASCII碼爲整數i
       # chr(97) --> 'a'

unichr(i) # 整數 --> Unicode碼爲整數i的Unicode字符 (python3中無此函數)
          # unichr(97) --> u'a'
相關文章
相關標籤/搜索