1
chenstack 2018-08-31 14:50:54 +08:00 1
print(''.join(chr(u) for u in range(0, 0x41)))
实际上\u0020-\u0040 才是,前面的基本是控制用 ascii |
2
shede333 2018-08-31 14:51:53 +08:00
Unicode 每个字符的详情,可以查官方文档: https://www.unicode.org/charts/
代码如下: def show_unicode_text(start_num, length): """ 打印 Unicode 字符串 :param start_num: unicode 起始索引值(10 进制) :param length: 起始值之后,要打印的字符个数 :return: """ for index in xrange(start_num, start_num + length - 1): hex_str = str(hex(index))[2:] tmp_text = "\\U{:0>8}".format(hex_str) # tmp_text = "\\u{:0>4}".format(hex_str) # 仅支持 BMP 平面的字符 dest_unicode = codecs.decode(tmp_text, "unicode_escape") print index, tmp_text, dest_unicode //\u0000-\u0040 show_unicode_text(0, 41) # show 数字和大写字母 show_unicode_text(48, 44) # show 部分表情 show_unicode_text(128518, 10) |
3
myKing OP 0x41 这个是什么??
|
5
chenstack 2018-08-31 15:24:26 +08:00
\u0040 这里 0040 就是 16 进制的,range 是左闭右开的,所以\u0020-\u0040 的码点范围是 range(0x00, 0x40+1)
|
8
imn1 2018-08-31 16:17:27 +08:00
#1 就结帖了
In [1]: chr(0x8888) Out[1]: '袈' In [2]: chr(0x2190) Out[2]: '←' |
9
rabbbit 2018-08-31 16:23:54 +08:00
0b 二进制 0o 八进制 0x 16 进制
0b10 // 2 0o10 // 8 0x10 // 16 unicode 字符表示方法 \u + 16 进制数值,例如 \u0001 print(u'\u0061') // a |
11
imn1 2018-08-31 16:55:00 +08:00
你连最基础的整数进制都分不清,后面写程序很难的,先去看基础的书籍吧
|
12
rabbbit 2018-08-31 17:04:14 +08:00
0b10 是一个 2 进制数值
前面的 0b 是一个固定的前缀,代表 2 进制数字. Python 识别到 0b 后, 会将其后的内容当作 2 进制来解析.例如 0b11 // 3 0b2 // SyntaxError 2 进制没有 2 这个字符,因此报错 其他的也一样 0o 是 8 进制数值的前缀 0x 是 16 进制数值的前缀 |
14
myKing OP 第一次使用 V2EX 我已经有答案,请问如何结束话题?
python2 代码: for i in range(0x005b,0x005f): print (unichr(i)) python3 代码请查看 http://www.chenxm.cc/post/683.html |
15
lululau 2018-08-31 17:21:57 +08:00
python -c 'import os;os.system("ruby -e \"puts [*\\\"\\u0000\\\"..\\\"\\u0040\\\"]\"")'
|