首页 > 编程语言 >Python 字符编码转换(转载)

Python 字符编码转换(转载)

时间:2023-06-17 15:58:39浏览次数:48  
标签:编码 utf 字符 Python gb2312 decode msg unicode print

Python 字符编码转换

  • 1.在 python2 默认编码是 ASCII , python3 里默认是 unicode
  • 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间
  • 3.在 py3 中 encode ,在转码的同时还会把 string 变成 bytes 类型, decode 在解码的同时还会把 bytes 变回string

python2

#-*-coding:utf-8-*-
__author__ = 'Alex Li'

import sys
print(sys.getdefaultencoding())


msg = "我爱北京天安门"
msg_gb2312 = msg.decode("utf-8").encode("gb2312")
gb2312_to_gbk = msg_gb2312.decode("gbk").encode("gbk")

print(msg)
print(msg_gb2312)
print(gb2312_to_gbk)

python3

__author__ = 'Alex Li'

import sys
print(sys.getdefaultencoding())


msg = "我爱北京天安门"
#msg_gb2312 = msg.decode("utf-8").encode("gb2312")
msg_gb2312 = msg.encode("gb2312") #默认就是unicode,不用再decode,喜大普奔
gb2312_to_unicode = msg_gb2312.decode("gb2312")
gb2312_to_utf8 = msg_gb2312.decode("gb2312").encode("utf-8")

print(msg)
print(msg_gb2312)
print(gb2312_to_unicode)
print(gb2312_to_utf8)

转载

转载自:https://www.cnblogs.com/alex3714/articles/5717620.html

标签:编码,utf,字符,Python,gb2312,decode,msg,unicode,print
From: https://www.cnblogs.com/evescn/p/17487544.html

相关文章

  • Python3网络爬虫开发实战阅读笔记
    基本库的使用网络请求库urllib(HTTP/1.1)Python自带请求库,繁琐基础使用:略requests(HTTP/1.1)Python常用第三方请求库,便捷基础使用:略httpx(HTTP/2.0)Python第三方库,支持HTTP/2.0,支持异步请求,支持Python的async请求模式pipinstall'httpx[http2]'基础使用:与requests相似,默认......
  • python unitest 测试装置(Test Fixture)
    unittest框架提供了测试装置(TestFixture)的功能,用于在测试用例执行前后进行准备和清理操作。测试装置包括setUp()方法和tearDown()方法,分别用于在每个测试用例执行前和执行后进行相应的操作。下面是一个示例,演示如何使用测试装置:importunittestclassMyTestCase(unittest.Te......
  • python unitest 测试运行器(Test Runner)
    测试运行器(TestRunner)是unittest框架提供的执行测试用例的组件,用于自动运行测试用例并生成测试结果报告。它负责加载测试用例、执行测试用例,并提供测试结果的输出。unittest框架提供了多种测试运行器,包括TextTestRunner、HTMLTestRunner、XMLTestRunner等。这些运行器可以根据不......
  • python 断言方法
    assertEqual(a,b):判断a和b是否相等。self.assertEqual(2+2,4)#通过self.assertEqual('hello','world')#失败,抛出AssertionErrorassertNotEqual(a,b):判断a和b是否不相等。self.assertNotEqual(2+2,5)#通过self.assertNotEqual('hello',�......
  • python unitest 测试套件TestSuite()
    unittest框架提供了多种测试套件的使用方法,用于组织和执行测试用例。以下是一些常见的测试套件使用方法及其示例:1.使用unittest.TestSuite()创建测试套件,然后使用addTest()方法添加测试用例。importunittestclassMyTestCase(unittest.TestCase):deftest_addition(self):......
  • python unitest测试用例
    unittest框架的测试用例有三种常见的写法:函数式、类式和装饰器式。函数式写法:importunittestdeftest_sum(self):result=sum([1,2,3])self.assertEqual(result,6)if__name__=='__main__':unittest.main() 注意事项:使用函数式写法时,测......
  • Python 深浅拷贝
    Python深浅拷贝一、数字、字符串对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。importcopy##########数字、字符串#########n1=123#n1="evescn"print(id(n1))###赋值##n2=n1print(id(n2))###浅拷贝##n2......
  • python 生成器 yield
    生成器属于迭代器https://mp.weixin.qq.com/s/F3GLVY2EUpISpt_koCDmWg生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方......
  • python之json和ymal模块
    json和ymal是常用的数据交换格式,ymal可以看做是json的超集。1json格式json(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于在不同系统之间进行数据传输和存储。它由键值对构成的集合组成,通常以文件扩展名.json命名。JSON的结构非常简单,有两种基本的数据结构:1.......
  • 单模字符串匹配算法(KMP, exKMP, manacher)
    约定:本文字符串均从\(1\)开始。模式串\(T\)的长度为\(n\),匹配串\(S\)的长度为\(m\)。1.KMP1.1前缀函数给定一个长度为\(n\)的字符串\(S\),其前缀函数被定义为一个长度为\(n\)的数组\(\pi\)。其中\(\pi_i\)被定义为:若子串\(S[1\cdotsi]\)有一对相等的真前......