UNICODE与UTF-8的联系
字符编码笔记:ASCII,Unicode和UTF-8
判断字符是否为中文
采用unicode编码格式下:
\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') --> 10int(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) --> 165bin() # 整数 --> 其二进制字符串(以‘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') --> 97chr(i) # 整数(取值为[0,255]) --> 单字字符,该字符的ASCII码为整数i # chr(97) --> 'a'unichr(i) # 整数 --> Unicode码为整数i的Unicode字符 (python3中无此函数) # unichr(97) --> u'a'