【Python3】\u字符与中文字串互转

小水。



encodedecode

  1. str没有decode函数,但对应的有encode函数,该函数作用是转码为bytes对象
  2. bytes通过decode函数转换回对应的str
  3. 对于一些偏激的(可以用过分来形容)的字符串,例如一二三\\u56db\\u4e94\\u516d,是有相应的解决方法的。至于为什么我用“偏激”来形容,因为正常情况下是不应该出现这种混杂情况的,(出现这种情况多半是哪个煞x忽视字符编码问题直接一股脑字符串连接。
    使用str.encode('ascii','backslashreplace')将中文部分全转换为\u字符即可
  4. 若是出现其他类型的混乱字符串(例如掺杂utf-8编码的中文字串一二三\\xe5\\x9b\\x9b\\xe4\\xba\\x94\\xe5\\x85\\xad)的话,请先拎清楚到底是哪里造成的问题。这篇博客里不提供对应的解决方法,自己谋生路,写个函数逐字符转换也好,用re正则替换也罢,又或是使用codecs.register_error()注册一个新的编码器,反正能跑就行。


示例代码+运行结果:


tx1='123\\u56db\\u4e94\\u516d'
tx2='上下\\u5de6\\u53f3'

print(tx1)
print(tx2)
print()
print()

print(tx1.encode().decode("unicode-escape"))#这个encode使用utf-8转码,在遇到非ASCII时直接暴毙
print(tx2.encode().decode("unicode-escape"))#暴毙输出
print(tx1.encode('ascii','backslashreplace').decode('unicode-escape'))#这个encode会无视反斜杠字符的转码,同时对其他非ASCII字符转换为\u字符
print(tx2.encode('ascii','backslashreplace').decode('unicode-escape'))#转换成功

运行结果


补充:

这里是没有显式提到“中文转\u字符”,
但“中文转\u字符”这操作在上面的示例代码中有出现,
当然,除了str.encode('ascii','backslashreplace')也可以使用str.encode('unicode-escape')进行转换


参考:

  • str.encode函数参数-backslashreplace: https://www.w3school.com.cn/python/ref_string_encode.asp
  • str.encode函数参数-codecs.register_error():https://www.runoob.com/python/att-string-encode.html
  • codecs模块:https://cloud.tencent.com/developer/section/1371694

未经本人同意不得私自转载。本文发布于CSDN:https://blog.csdn.net/weixin_44733774/article/details/135211784

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/270711.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

k8s 组件

k8s: kubernets:8个字母省略,就是k8s. 自动部署,自动扩展和管理容器化的应用程序的一个开源系统。 k8s是负责自动化运维管理多个容器化程序的集群,是一个功能强大的容器编排工具。 以分布式和集群化的方式进行容器管理。 1.20面试版本 …

RPC(6):RMI实现RPC

1RMI简介 RMI(Remote Method Invocation) 远程方法调用。 RMI是从JDK1.2推出的功能,它可以实现在一个Java应用中可以像调用本地方法一样调用另一个服务器中Java应用(JVM)中的内容。 RMI 是Java语言的远程调用,无法实现跨语言。…

小程序真机如何清除订阅数据

在做小程序订阅消息开发的过程中发现,真机上如果是选择了‘总是保持以上选择’,一旦用户授权后,后面就不会再弹出申请改订阅消息的授权弹窗,这对于开发过程中是很不方便的。 曾试过清除缓存,重进小程序也不能清除掉 解…

爬虫反爬之代码混淆,特殊编码,表情编码

不知道你是否见过这样的代码,完全看不懂。 大家好,这一集我们来看一下前端反爬的代码混淆,一般啊我们自己写的前端代码都是直接上传公开的,如果用的不是框架打包出来的代码,就是自己写的js,html文件没有经过…

T-Dongle-S3开发笔记——创建工程

创建Hello world工程 打开命令面板 方法1:查看->命令面板 方法2:按F1 选择ESP-IDF:展示示例项目 创建helloworld 选择串口 选择芯片 至此可以编译下载运行了 运行后打印的信息显示flash只有2M。但是板子上电flash是W25Q32 4MB的吗 16M-bit

SPFA算法总结

知识概览 SPFA算法是Bellman_Ford算法的优化。时间复杂度一般是O(m),最坏时间复杂度是O(nm)(遇到网格图、菊花图),其中n是点数,m是边数。SPFA算法其实是单源最短路限制最小的算法,只要图中没有负环&#xf…

Mongodb基础介绍与应用场景

NoSql 解决方案第二种 Mongodb MongoDB 是一款开源 高性能 无模式的文档型数据库 当然 它是NoSql数据库中的一种 是最像关系型数据库的 非关系型数据库 首先 最需要注意的是 无模式的文档型数据库 这个需要后面我们看到它的数据才能明白 其次是 最像关系型数据库的非关系型数据…

通过three.js玩转车展项目

1.项目搭建 1.1 创建文件夹 mkdir 文件名1.2 初始化package.json npm init -y1.3 安装打包工具并配置相关依赖 npm i parcel -d在package.json中打包路径和指令 1.4 安装three.js npm i three -d2.项目搭建 2.1 新建index.html,并再index.html引入car.js,在…

2023版本QT学习记录 -6- UDP通信之UDP接收端

———————UDP接收端——————— 🎄动图演示 🎄发送端通信步骤思维导图 🎄添加组件 QT core gui network🎄添加头文件 #include "qudpsocket.h"🎄创建接收对象 QUdpSocket *recvsocket;&…

在VSCode中使用Git教程

文章目录 提交代码操作分支提交远程库拉取代码参考 介绍一下如何在VSCode中使用Git 首先在VSCode中打开一个项目 打开项目后, 点击下图按钮, 可以引入Git 提交代码 点击 ;相当于git add. 下面两张图, 第一张表示改文件后的号, 只会add本文件. 第二张图表示这段时…

Jenkins的邮箱配置和插件下载

启动:java -jar jenkins.war 一定在jenkins.war的目录下 进入cmd命令 浏览器输入网址:http://localhost:8080/login?from%2F 账号:admin 密码:123456 安装插件: 插件更新后重启下 配置邮箱账号: 3…

关于PSINS中涉及到的地球参数更新

地球参数相关的更新函数 void CEarth::Update(const CVect3 &pos, const CVect3 &vn, int isMemsgrade) 用到位置以及速度 那么位置和速度用的哪个时刻的? 假如设计算周期为[T,2T] ; 解算时刻为2T时刻,那么地球参数用的是哪一时刻的…

【自然语言处理】用Python从文本中删除个人信息-第二部分

自我介绍 做一个简单介绍,酒架年近48 ,有20多年IT工作经历,目前在一家500强做企业架构.因为工作需要,另外也因为兴趣涉猎比较广,为了自己学习建立了三个博客,分别是【全球IT瞭望】,【…

canvas基础教学

Canvas <canvas>是一个可以使用脚本&#xff08;通常是JavaScript&#xff09;来绘制图形的HTML元素&#xff0c;例如&#xff0c;它可以用于绘制图表、制作图片构图或者制作简单的动画。 本篇博客从一些就基础开始&#xff0c;描述了如何使用<canvas>元素来绘制…

Java基础回顾——多线程

文章目录 介绍创建新线程线程的状态中断线程守护线程线程同步同步方法 死锁wait和notifyReentrantLockconditionReadWriteLockStampedLockSemaphore线程池FutureCompletableFuture 介绍 计算机中&#xff0c;一个任务称为一个进程&#xff0c;某些进程内部还需要同时执行多个子…

excel统计分析——K-S正态性检验

参考资料&#xff1a; 马兴华,张晋昕.数值变量正态性检验常用方法的对比[J].循证医学,2014,14(02):123-128 统计推断——正态性检验&#xff08;图形方法、偏度和峰度、统计&#xff08;拟合优度&#xff09;检验&#xff09;_sm.distributions.ecdf-CSDN博客 K-S检验法判断…

一文详解SpringBoot 定时任务(cron表达式)

IDE&#xff1a;IntelliJ IDEA 2022.2.3 x64 操作系统&#xff1a;win10 x64 位 家庭版 JDK: 1.8 文章目录 一、如何开启一个SpringBoot定时任务&#xff1f;二、cron表达式详解2.1 语法格式2.2 符号解析2,2.1 通用符号: , - * /2.2.2 专有符号&#xff1a;&#xff1f;L w # c…

Linux操作系统——进程(四)进程切换与命令行参数

进程切换 概念引入 下面我们先了解几个概念&#xff1a; 竞争性: 系统进程数目众多&#xff0c;而CPU资源只有少量&#xff0c;甚至1个&#xff0c;所以进程之间是具有竞争属性的。为了高效完成任务&#xff0c;更合理竞争相关资源&#xff0c;便具有了优先级 独立性: 多进程…

关于Smartbi登录代码逻辑漏洞的动态情报

一、基本内容 近日&#xff0c;思迈特软件核查发现存在“登录代码逻辑漏洞”问题&#xff0c;重点影响范围涉及Smartbi V9及其以上版本。该漏洞可能导致攻击者利用逻辑缺陷对目标系统进行攻击&#xff0c;造成敏感信息泄露和远程代码执行的风险。 二、相关发声情况 Smartbi是…

科技巨头的选择:为何不跟风用钉钉和企业微信?

引言 大家好&#xff0c;我是你们的小米&#xff01;今天&#xff0c;我想和大家聊一聊一个很有趣的话题——为什么大厂不同钉钉、企业微信等软件而自主研发IM&#xff08;即时通讯&#xff09;呢&#xff1f;难道这些明星产品还有什么不足之处&#xff1f;让我们一起揭开这个…