首页 > 编程语言 >【Python】unicode与汉字

【Python】unicode与汉字

时间:2022-11-18 13:45:42浏览次数:73  
标签:编码 Python 中日韩 汉字 encode unicode print

一、汉字的正则表达式

2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。

3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。

4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。【一般我们常用的汉字unicode编码,在这个范围中寻找就可以了】

A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。

AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。

F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。

FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角符号等。

正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

二、编码转换

 在 Python 中,有 2 种常用的字符串类型,分别为 str 和 bytes 类型,其中 str 用来表示 Unicode 字符,bytes 用来表示二进制数据。str 类型和 bytes 类型之间就需要使用 encode() 和 decode() 方法进行转换。

(1)输入:

s = '卧槽' # python3中,汉字默认以unicode编码方式存储,所以在print打印时会将unicode对应的字符输出
print(s)

输出:

卧槽

(2)输入:

uni1=s.encode('utf-8') # 为字符串s编码,即将汉字的unicode转换为utf-8编码(ASCII)
print(uni1)

输出:

b'\xe5\x8d\xa7\xe6\xa7\xbd' 

(3)输入:

uni11=s.encode('utf-8').decode() # utf-8编码后又解码,得到了汉字的unicode编码,所以print后仍为汉字
print(uni11)

输出:

卧槽

(4)输入:

uni2=s.encode('unicode-escape') # 将汉字的unicodee进行utf-8编码,得到byte类型
print(uni2)

 

encode(‘unicode-escape’)可将此unicode形式的str类型,转换为bytes类型的二进制数(一般为ASCII码)

输出:

b'\\u5367\\u69fd'

(5)输入:

uni22=s.encode('unicode-escape').decode() # 
print(uni22)

decode(‘unicode-escape’)可将内容为unicode形式的bytes类型,转换为str类型的unicode

输出:

\u5367\u69fd

(6)输入:

print('\u5367\u69fd') # 直接输入unicode码,print函数自动转换成汉字输出

输出:

卧槽

参考文章:

【Python | encode中的unicode-escape和raw_unicode_escape】https://blog.csdn.net/weixin_45441279/article/details/107065873
【Python encode()和decode()方法:字符串编码转换】http://c.biancheng.net/view/4305.html

【百度百科:正则表达式】https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215

【正则表达式的汉字匹配】https://www.cnblogs.com/yitian/archive/2008/11/14/1333569.html

【汉字 Unicode 编码范围】https://blog.csdn.net/momodosky/article/details/107546956
【Python对中文字符的处理(utf-8/ gbk/ unicode)】https://blog.csdn.net/chixujohnny/article/details/51782826

【python实现中文和unicode转换】https://blog.csdn.net/weixin_43772166/article/details/108042064



 

标签:编码,Python,中日韩,汉字,encode,unicode,print
From: https://www.cnblogs.com/steven913/p/16902933.html

相关文章

  • python的类方法和静态方法
    实例方法1、只能通过对象调用(第一个参数self:代表对象本身)2、适用场景:方法内部如果要使用对象的属性或者方法,就要定义成对象方法类方法1、要先使用@classmethod声明......
  • python笔记76-types.FunctionType 动态创建函数
    前言types.FunctionType创建函数有2种方式:从已有函数的基础上,创建一个新函数从一个compile构建的函数对象上,创建一个新函数FunctionType使用FunctionType可以用......
  • Python算法题库(入门)
    1. 字符串最后一个单词长度str=input("输入一串字符串:")strList=str.split('')[-1]print(len(strList)) 2. 计算某字符出现的次数str=input("请输入:").......
  • 使用Python批量对文本文件编码互转
    在Windows下写C语言默认是GB2312,放到Linux上就会乱码,因为Linux和MacOS默认是UTF-8,因此写了个Python小脚本对指定路径下的文件进行转换。fromsysimportargvimportosf......
  • Python-统计执行时间
    方法一:importdatetimeimporttimestarttime=datetime.datetime.now()print(starttime.strftime("%Y-%m-%d%H:%M:%S"))time.sleep(2)endtime=datetime.datet......
  • Python - typing 模块
    typing模块的作用类型检查,防止运行时出现参数和返回值类型不符合。作为开发文档附加说明,方便使用者调用时传入和返回参数类型。该模块加入后并不会影响程序的运行,不会......
  • python 增删改查sqlserver
    importpymssql#打开数据库连接db=pymssql.connect(server='localhost',user='sa',password='888888',database='customerdb')#创建游标对象,并设置返回数据的类型为......
  • python模块 - copy模块
    copy模块用于对象的拷贝操作。该模块只提供了两个主要的方法:copy.copy与copy.deepcopy,分别表示浅复制与深复制。b=a.copy():浅拷贝,a和b是一个独立的对象,但他......
  • python-日志详解
    一.logging模块_打印以及保存日志1、Logging:用来做简单的日志。等级分为debug()、info()、warning()、error()和critical()等级 使用场景DEBUG 调试......
  • Python print() 实时打印
    在程序中发现print内容输出和实际输出时间不一致,所以怀疑输出时间有问题,实践发现print没有进行实时刷新。#正常使用print("something。。。")#实时刷新print("someth......