Python 关于bytes类方法对数字转换的误区, Json的重要性

本文起源于一次犯错, 在发觉bytes()里面可以填数字, 转出来的也是bytes类型, 就心急把里面的东西decode出来. 结果为空.搞来搞去以为是命令不熟练事实上错在逻辑.

a1 = bytes(‘11‘, encoding=‘utf-8‘)
print(a1)

b1 = a1.decode()

print(b1)

a2 = bytes(11)
print(a2)

b2 = a2.decode()
print(b2)

错误的逻辑: bytes 把 int 转成 byte类型,  然后把byte类型通过decode 转换回 int

int的确可以转成byte, 但byte是转不回去int的.除非你自己定义一个函数或者用内置的一些比较复杂的命令.

http://m.blog.csdn.net/crylearner/article/details/38521685

-----------------------------------------------

而基础教程一般会叫你 想方设法把int转成str, 再str转byte , decode的时候, byte转str, 再转int.  也是很麻烦的.尽管这个逻辑是对的.

貌似在简单的编程, str是绕不过去的!

参考资料:http://www.cnblogs.com/zanjiahaoge666/p/6402907.html

--------------------------------------------------

秘密武器Json

联想到更多, 万一我是一个数组要转byte, 或者字典等等, 那这样会弄得更复杂.

事实上你不要忘记一个并不复杂的工具,就是Json.有了Json,你就可以翱翔所有的数据转换和恢复!

不单是数组, 字典, 甚至音乐, 视频文件. Json一样胜任

学术或足球分析交流微信:chinamaths(进讨论组)

Don‘t hesitate to comment or add a like    -    Yours Bill
Bill‘s技术博客 足球分析博客 足彩数据视频
比尔极客日志_博客园 比尔足球数据_网易博客 足彩TV_优酷
比尔极客日志_CSDN 比尔足球数据_新浪博客 足彩TV_搜狐视频
比尔极客日志_51CTO 比尔足球数据_新浪微博 足彩TV_喜马拉雅
比尔极客日志_开源中国 比尔足球数据_官方URL 足彩TV_56视频
比尔极客日志_GitHub 比尔足球数据_头条号 微信号:zucai99
时间: 2024-10-21 23:41:23

Python 关于bytes类方法对数字转换的误区, Json的重要性的相关文章

python的bytes和str的转换

转换方式: 1.将字符串转换成二进制:encode(编码) 2.将二进制转换成字符串:decode(解码) 例子: (1) msg = "我爱北京" print(msg.encode('utf-8')) 结果:b'\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac' (2) msg = "我爱北京" print(msg.encode('utf-8').decode('utf-8')) 结果:我爱北京 原文地址:https

python学习第二天:数字与字符串转换及逻辑值

1.数字与字符串的转化 #1.数字转字符,使用格式化字符串: *1.demo = ‘%d’  %  source *2.%d整型:%f 浮点型 :%e科学计数  *3.int('source') #转化为int型 #2.字符串转化为数字 *1.导入string :import string *2.demo = atoi(source)  #转换为整型’ atof()    #转为浮点型 2.逻辑值: and  #与 or  #或 not #非 python学习第二天:数字与字符串转换及逻辑值

每天学点Python之bytes

每天学点Python之bytes Python中的字节码用b'xxx'的形式表示.x可以用字符表示,也可以用ASCII编码形式\xnn表示,nn从00-ff(十六进制)共256种字符. 基本操作 下面列举一下字节的基本操作,可以看出来它和字符串还是非常相近的: In[40]: b = b"abcd\x64" In[41]: b Out[41]: b'abcdd' In[42]: type(b) Out[42]: bytes In[43]: len(b) Out[43]: 5 In[44

Python基础(10)--数字

本文的主题是 Python 中的数字.会详细介绍每一种数字类型,它们适用的各种运算符, 以及用于处理数字的内建函数.在文章的末尾, 简单介绍了几个标准库中用于处理数字的模块. 本文地址:http://www.cnblogs.com/archimedes/p/python-number.html,转载请注明源地址. 数字类型 数字提供了标量贮存和直接访问.它是不可更改类型,也就是说变更数字的值会生成新的对象.当然,这个过程无论对程序员还是对用户都是透明的,并不会影响软件的开发方式. Python

Python常见字符编码间的转换

学习Python,字符编码间的转换是绕不过去的一只拦路虎,不把编码彻底搞明白,总有一天它会猝不及防坑你一把. Python2.x和Python3.x在字符编码的设置上也有很大区别(Python3未来将是主流,所以Python3为主),今天我们就来一起学习下. 上一篇文章里我已经简述了Python的常见编码了,这里就不再赘述了,还不清楚的小伙伴可以先去看下:     http://www.cnblogs.com/schut/p/8406897.html 一.Unicode 和 UTF-8的纠葛 U

Python基础-基本数据类型之数字、字符串

基本数据类型 1.数字 int python 2 int 有范围,超过该范围则为long 类型32位系统上,取值范围为-2^31-2^31-1 ,即-2147483648-214748364764位系统上,取值访问为-2^63~2^63-1,即-9223372036854775808-9223372036854775807python 3 所有整型都是int 类型,没有long类型 eg: #数字 input_num= input("请输入数字:") #获取从键盘输入的数字 print

06 python语言中的进制转换

python语言中的进制转换 1.python语言中支持哪些进制,以及这些进制的表示法2.如何在不同的进制之间进行转换 //py 语言支持4种进制 十进制 0-9 // 123 默认就是 十进制 十六进制 0-9 A-F //0x 0xFF12E 0x 开头的就是 十六进制二进制 //0b 0b11010101 //这里用0B 也是可以的但是业内都是用小写的0b表示 表示二进制 八进制 //0o 0o4324 // 0o 开头的就是 八进制 除了十进制外,其他进制数字前面都是0 转换 主要是十进

Python实现简单的猜数字游戏

Python实现简单的猜数字游戏,具体如下: 随机生成一个1-10之间的数字,让用户来猜,当猜错时,会提示猜的数字是大还是小了,直到用户猜对为止. import random secret = random.randint(1,10) #print(secret) print('------猜数字游戏!-----') guess = 0 while guess != secret: temp = input('猜数字游戏开始,请输入数字:') guess = int(temp) if guess

在C#中将数字转换成中文

上篇我们讲了在MSSQL中将数字转换成中文,这篇我们讲讲在C#中将数字转换成中文 下篇将讲一下如何将金额转换成中文金额,废话不多说,具体代码如下: /// <summary> /// 数字转中文 /// </summary> /// <param name="number">eg: 22</param> /// <returns></returns> public string NumberToChinese(in