python unicode码转字符_将Unicode码位号转换为Unicode字符
我使用python3中的argparse库从命令行参数读入Unicode字符串。这些字符串通常包含“普通”Unicode字符(扩展拉丁语等),但有时——尤其是当字符属于从右向左的脚本时——将字符串编码为Unicode代码点更容易,如\u0644。但是argparse将这些指示符视为一系列字符,而不会将它们转换为它们指定的字符。例如,如果命令行参数是... -a "abc\06d2d" ...
那么我在argparse变量中得到的是
^{pr2}$
而不是预期的"abcےd"
(“c”和“d”之间的字符是yeh baree)。当然这两个结果都是合乎逻辑的,只是第二个结果是我想要的。在
我试图在解释器中重现这一点,但在大多数情况下,Python3会自动将类似“abc\06d2d”的字符串转换为“abcےd”。当我用argparse读取字符串时就不是这样了。。。在
我想出了一个函数来进行转换,见下文。但我觉得我错过了更简单的东西。有没有更简单的方法来进行这种转换?(显然我可以利用str.startswith(),或正则表达式来匹配整个内容,而不是逐个字符地进行,但下面的代码实际上只是一个示例。似乎我根本不应该创建自己的函数来执行此操作,尤其是在某些情况下,它似乎是自动发生的。)
----------我的代码如下所示--------def ParseString2Unicode(sInString):
"""Return a version of sInString in which any Unicode code points of the form
\uXXXX (X = hex digit)
have been converted into their corresponding Unicode characters.
Example:
"\u0064b\u0065"
becomes
"dbe"
"""
sOutString = ""
while sInString:
if len(sInString) >= 6 and \
sInString[0] == "\\" and \
sInString[1] == "u" and \
sInString[2] in "0123456789ABCDEF" and \
sInString[3] in "0123456789ABCDEF" and \
sInString[4] in "0123456789ABCDEF" and \
sInString[5] in "0123456789ABCDEF":
#If we get here, the first 6 characters of sInString represent
# a Unicode code point, like "\u0065"; convert it into a char:
sOutString += chr(int(sInString[2:6], 16))
sInString = sInString[6:]
else:
#Strip a single char:
sOutString += sInString[0]
sInString = sInString[1:]
return sOutString
python unicode码转字符_将Unicode码位号转换为Unicode字符相关推荐
- Python贪吃蛇小游戏_完整源码免费分享
文章目录 Python 贪吃蛇小游戏 1. 导包 2. 配置初始化参数 3. 主函数及运行主体 4. 画食物的函数 5. 画贪吃蛇的函数 6. 画网格的函数(非必选,觉得多余的可以忽略此项) 7. 操 ...
- 二维码简介_二维码基本概念_二维码基本原理
一.二维码简介_二维码基本概念_二维码基本原理 1.二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Ba ...
- java错误编码不可映射字符_“用于编码UTF-8的不可映射字符”错误
你的源代码文件有编码问题. 它可能是ISO-8859-1编码,但编译器被设置为使用UTF-8. 这在使用字符时会导致错误,在UTF-8和ISO-8859-1中不会有相同的字节表示. 这将发生在所有不属 ...
- pcie扰码的作用_分享 扰码的作用
扰码 要分上行和下行链路来考虑: 扰码就是就是用一个伪随机码序列对扩频码进行相乘,对信号进行加密.上行链路物理信道加扰的作用是区分用户,下行链路加扰可以区分小区和信道. 在上行链路中,扰码区分用户,扩 ...
- github 码云 获取_开源中国码云,岂止于中国版GitHub!
[引言]2008年4月,三位美国开发者创办了后来风靡全球的GitHub,成为开源技术发展的一座里程碑.5年之后,中国最大的开源技术社区开源中国社区上线"码云"平台代码托管服务--G ...
- java unicode是什么意思_(转)谈谈对Java中Unicode、编码的理解
我们经常会遇到编码问题.Java号称国际化的语言,是因为它的class文件采用UTF-8,而JVM运行时使用UTF-16(至于为什么JVM中要采用UTF-16,我没看过 相关的资料,但我猜可能是因为J ...
- python神经网络库识别验证码_基于TensorFlow 使用卷积神经网络识别字符型图片验证码...
本项目使用卷积神经网络识别字符型图片验证码,其基于TensorFlow 框架.它封装了非常通用的校验.训练.验证.识别和调用 API,极大地减低了识别字符型验证码花费的时间和精力. 项目地址:http ...
- python测试开发教程 龙腾_龙腾源码网京东 有货自动下单,Python 脚本 你的口罩...
本帖最后由 小朋友 于 2020-2-7 13:24 编辑 这个 githubcom/tychxn/jd-assistant 我写了个 Windows下的一键安装Python运行环境和安装依赖库的脚本 ...
- python统计中英文字符_如何统计文本中的中英文字符数?Python帮你解决
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于小蚊子数据分析 ,作者小蚊子数据分析 代码 1import stri ...
最新文章
- c#-检查USB硬件变化
- How is new Appoinment id generated in my task followup scenario
- .net Mvc Controller 接收 Json/post方式 数组 字典 类型 复杂对象
- 面试官系统精讲Java源码及大厂真题 - 40 打动面试官:线程池流程编排中的运用实战
- 如何使用Power BI和R脚本创建高级分析
- php判断是不是手机端访问
- Axure Rp汉化安装
- kubernetes快速部署及常用命令
- jQuery页面加载事件
- paper - A Physics-based Noise Formation Model for Extreme Low-light Raw Denoising
- BlackBerry 7290如何传自定义图片
- Qt 3D:线框 QML 示例
- DISM用于Win7部署的实验笔记
- 和信贷接入百行征信之后......
- python 数据分析入门教程(三)_Python数据分析入门教程(三):数据选择——AIU人工智能学院-经管之家官网!...
- 手把手教你做主成分分析
- 22.单文件组件-webpack打包发布
- jenkins构建时git报错:hudson.plugins.git.GitException: Failed to fetch from
- 51nod 1001
- 风暴魔域怎么在电脑上玩 风暴魔域电脑版玩法教程
热门文章
- 用vb.net编写的软件有哪些?
- android实现震动和声音
- 肝了 15000 字性能调优系列专题(JVM、MySQL、Nginx and Tomcat),看不完先收藏
- vant 引入其他图标
- RStudio 安装后启动闪退,无法打开(windows)
- 第一颗国产 HDMI2.0 至带音频的四端口 LVDS 芯片 LT6211UX
- 工控软件——驱动框架
- Swif学习之路 - - - 基础
- iis服务器怎样配置多张证书,IIS:管理多个 Web 服务器上的多个证书 | Microsoft Docs...
- 如何在硬盘上恢复已经删除的照片?