获取Unicode中所有汉字和标点

进制互转

转其他进制:
hex(<数字>)
oct(<数字>)
bin(<数字>)

转10进制:
int(’<数字>’,<整数,表示前面一个参数进制数>)

如:

int('10',2)
int('10',8)
int('10',16)
int('0o21',8)
hex(16)
oct(16)
bin(16)

获取字符编码序号

ord(“<字符>”)
chr(<数字>)

ord('一')
Out[148]: 19968
ord("\u4e00")
Out[157]: 19968
chr(19968)
Out[150]: '一'

unicode汉字集

\u4e00 - \u9FFF的是中日韩汉字字符区间。其中
\u4e00 -\u9fd5 是所有汉字,剩下的没有字符。

"\u4e00"
Out[151]: '一'
"\u9fd5"
Out[152]: '鿕'

中日韩汉字 Unicode 编码表

汉字标点

[
    8211, 8212, 8216, 8217, 8220, 8221, 
    8230, 12289, 12290, 12296, 12297, 12298, 
    12299, 12300, 12301, 12302, 12303, 12304, 
    12305, 12308, 12309, 65281, 65288, 65289, 
    65292, 65294, 65306, 65307, 65311
]

参考

英文和数字

48-57 表示0-9
65-90 表示A-Z
97-122 表示a-z

符号unicode对应分段

点击我见表

如英文标点

for i in range(ord('\uff01'),ord("\uff0f")+1):
    print(chr(i))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C++,可以使用Unicode编码的范围来判断一个字符是否为汉字标点。具体来说,汉字Unicode代码点范围是`[\u4e00-\u9fff]`,标点Unicode代码点范围是`[\u3000-\u303f,\ufe10-\ufe1f,\ufe30-\ufe4f,\uf900-\ufaff]`。可以通过判断字符的Unicode代码点是否在这些范围内来区分汉字标点。 以下是一个示例代码: ```cpp #include <iostream> #include <string> using namespace std; int main() { string text = "这是一段文文本,包含汉字标点。This is an English sentence."; string han = ""; // 存储汉字 string punct = ""; // 存储标点 for(char c: text) { int code = (int)c; // 获取字符的Unicode代码点 if((code >= 0x4e00 && code <= 0x9fff) || // 判断是否为汉字 (code >= 0x3000 && code <= 0x303f) || (code >= 0xfe10 && code <= 0xfe1f) || (code >= 0xfe30 && code <= 0xfe4f) || (code >= 0xf900 && code <= 0xfaff)) { han += c; } else if(iswpunct(c)) { // 判断是否为标点 punct += c; } } cout << "汉字:" << han << endl; cout << "标点:" << punct << endl; return 0; } ``` 这段代码使用了字符的Unicode代码点来判断是否为汉字标点,并将其存储在`han`和`punct`变量。同时,使用`iswpunct`函数来判断一个字符是否为标点。运行结果如下: ``` 汉字:这是一段文文本包含汉字标点 标点:,。 ``` 可以看到,汉字标点被正确地分别提取出来了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值