python3中的编解码

#一个知识点是:python3中有两种字符串数据类型;str类型和 bytes类型;sty类型存储unicode数据,bytes类型存储bytes数据
#当我们在word上编辑文件的时候,数据保存之前是以unicode形式保存在内存中的#当我们点击保存时,数据将通过编辑器的编码方式(如UTF-8、gbk)编码成bytes的字节串存储在硬盘上,优势是可以节省存储空间------encode#当我们又重新打开文件时,word又将这些bytes的字节串解码城unicode形式放在内存中,数据就以明文形式展示给我们了---------decode
 1 import json
 2 s=‘芳芳‘
 3 print(type(s)) #<class ‘str‘>
 4 print(repr(s)) #显示存储内容 #‘芳芳‘
 5 print(json.dumps(s)) #"\u82b3\u82b3" ;json.dumps将数据通过特殊方式转换成所有程序语言都认识的字符串
 6
 7 b=s.encode("utf-8")
 8 print(type(b)) #<class ‘bytes‘>
 9 print(repr(b)) # b‘\xe8\x8a\xb3\xe8\x8a\xb3‘
10
11 u=b.decode("utf-8")
12 print(type(u)) #<class ‘str‘>
13 print(repr(u)) #‘芳芳‘
14 print(json.dumps(u))#"\u82b3\u82b3"
时间: 2024-10-16 04:23:31

python3中的编解码的相关文章

python3的base64编解码

使用python3的base64编解码实现字符串的简易加密解密 引言: 在一些项目中,接口的报文是通过base64加密传输的,所以在进行接口自动化时,需要对所传的参数进行base64编码,对拿到的响应报文进行解码: Base64编码是一种"防君子不防小人"的编码方式.广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有"=",生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容易被破解,仅适用于加

搞清tomcat中的编解码

http://www.xuebuyuan.com/1287083.html *********************************** 经常会被乱码问题搅得头晕脑胀.事实上,乱码问题涉及的地方比较多,所以常常有了问题也很难定位,比如,可以发生在容器,可以发生在MVC框架,可以发生在数据库,可以发生在响应等等. 这里分析一下tomcat中是如何编解码的. 以"http://localhost:8080/测试?网络=编程"为例,可以将tomcat中编解码分解为这么几个地方: 1

python3中编码和解码

------------恢复内容开始------------ 一.python3与python2.7在字符编码上的差异 python2.7 默认编码是和所在的操作系统一致,windows 是 GBK,macOS是 utf8 ,linux是utf8 python3 编码统一规定默认编码为 Unicode 二.python3中str和bytes的区别 (1)python3有两种数据类型:str 和bytes. 1.编码为Unicode的文本显示为str: 2.其他编码(比如gbk,utf8等)显示为

Java Web中涉及的编解码

用户从浏览器发起一个HTTP请求,存在编码的地方是URL.Cookie.Paramiter.服务器端接收到HTTP请求后要解析HTTP协议,其中URL.Cookie和POST表单参数要解码,服务器端可能还需要读取硬盘数据(数据库.文件),这些数据都可能存在编码问题.当Servlet处理完所有请求的数据后,需要将这些数据再编码通过Socket发送到用户请求的浏览器里,再经过浏览器解码成为文本.这些过程用图表示如下: 1.URL的编解码 为了验证浏览器是怎么编码URL的,我们选择FireFox浏览器

1.Cocos2dx 3.2中vector,ValueMap,Touch触摸时间的使用.iconv字符编解码

 Cocos2dx3.2以后使用Vector<T>代替了CCArray.案例如下: 头文件:T02Vector.h #ifndef __T02Vector_H__ #define __T02Vector_H__ #include "T32.h" class T02Vector : public Layer { public: CREATE_FUNC(T02Vector); //Cocos2dx3.2以后使用Vector代替了CCArray Vector<Sprit

Base64编解码Android和ios的例子,补充JNI中的例子

1.在Android中java层提供了工具类:android.util.Base64; 里面都是静态方法,方便直接使用: 使用方法如下: Java代码   // Base64 编码: byte [] encode = Base64.encode("Hello, World".getBytes(), Base64.DEFAULT); String enc = new String(encode); Log.d("","base 64 encode = &qu

Base64编解码中的坑

本文主要针对.net 中的System.Web.ServerUtility.UrlTokenEncode()/UrlTokenDecode()进行解释 在巨硬的源码文档中找到4.6.2的释义: https://referencesource.microsoft.com/#System.Web/Util/HttpEncoder.cs,0e3cb83cf51ca334 通过分析可知 1:最后一个'='被编码成一个由源字符串与其长度差的加密字符. 2:'+' to '-','/' to '_' 相信看

在.NET中使用Speex -- 音频数据编解码

Speex是一套开源的音频编解码库,最新版本还包含了回音消除和防抖动等功能,如果我们想开发语音聊天或视频会议这样的系统,Speex将是一个不错的选择.到 http://www.speex.org可以下载Speex的源码(编译后的dll为libspeex.dll),最新版本为1.2.不过源码是用C++开发的,直接在.NET中使用会有诸多不便,为此,我用C#将其封装,使得编解码的调用相当简单. 由于Speex原始导出的API不是很方便C#调用,所以,在用C#封装之前,先要用C++对Speex的原始A

SSD ECC中的LDPC编解码原理

转自:http://blog.csdn.net/zhuzongpeng/article/details/78899198 目前SSD中ECC纠错代码主要两种BCH和LDPC.不过,随着SSD对ECC纠错技术要求越来越高,BCH纠错码开始有些吃力,所以,LDPC纠错码是发展趋势,也是最新最主流的纠错码. 为何需要LDPC? 我们先回顾一下NAND闪存的基础知识.在这里以MLC NAND为例.在MLC NAND中,有四个Vt level. 如下图, 随着P/E cycles的增加,MLC NAND的