编码和解码的概念理解 - CSDN
文章推薦指數: 80 %
编码:用户输入字符,计算机记录对应的二进制的值。
解码:计算机根据记录的二进制的值,显示成人类可以认识的字符图像。
编码和解码的概念理解
爱就是恒久忍耐
于 2019-01-1021:38:08 发布
7456
收藏
17
分类专栏:
编程
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/whahu1989/article/details/86257543
版权
编程
专栏收录该内容
30篇文章
0订阅
订阅专栏
本文是记录下个人对编程时遇到的编码(encode)和解码(decode)的理解。
类比
首先让我们看一下这个情形:有2个特工,分别叫A和B,他们之间通过电报传输情报,既然是情报,那么肯定是要加密的,这样敌人拿到这个情报也无法解读,只有知道如何解密的人才能读懂情报内容。
假设A和B约好,解密规则是对收到的信息从右往左读,然后A准备发送“这里有敌人”这条情报。
根据规则,A发送到电报上的信息应该是“人敌有里这”,当B收到情报后,按照从右往左读的规则,解读出真正的情报内容是“这里有敌人”。
编码(encode)和解码(decode)
我们在用python编程时,经常会遇到编码和解码的问题,其实这些概念和传递情报的例子是一样的。
所谓编码就是把要传递的信息按照一定的规则进行组织,所谓解码就是把收到的信息按照一定的规则进行解析,并且这个规则必须是编码者和解码者事先都知道或约定好的。
下面举个简单栗子,
info='hello你好'
result=info.encode('UTF-8')#以UTF-8规则进行编码
print(result)
actual=result.decode('UTF-8')#以UTF-8规则进行解码,得到正确结果
print(actual)
actual=result.decode('gbk')#以gbk规则进行解码,得到错误结果
print(actual)
输出结果如下,可以看出,只有双方按照相同的规则来进行编解码,才能正确通信。
如果有写的不对的地方,希望能留言指正,谢谢阅读。
爱就是恒久忍耐
关注
关注
5
点赞
踩
17
收藏
打赏
0
评论
编码和解码的概念理解
本文是记录下个人对编程时遇到的编码(encode)和解码(decode)的理解。
类比首先让我们看一下这个情形:有2个特工,分别叫A和B,他们之间通过电报传输情报,既然是情报,那么肯定是要加密的,这样敌人拿到这个情报也无法解读,只有知道如何解密的人才能读懂情报内容。
假设A和B约好,解密规则是对收到的信息从右往左读,然后A准备发送“这里有敌人”这条情报。
根据规则,A发送到电报上的信息应该是“人...
复制链接
扫一扫
专栏目录
NFCREADER智能解码程序
02-02
NFCREADER智能解码程序
什么是编码?什么是解码?为什么要编码.解码?
司夏的博客
08-12
4232
编码:用户输入字符,计算机记录对应的二进制的值。
解码:计算机根据记录的二进制的值,显示成人类可以认识的字符图像。
编码的过程就是把程序员所编写的高级语言(如C,C++,pascal)转化为计算机能识别的机器语言,而解码的过程恰好相反。
这样做是主要为了方便程序员编程,因为不用和计算机内部程序打交道,所以不需了解其内部各种烦杂结构,而只需在这样一个搭建好的平台下,了解了其语言规则,就可以方便的进行对...
参与评论
您还未登录,请先
登录
后发表或查看评论
PCM编码器与PCM解码器的MATLAB实现及性能分析
07-21
1.1课程设计目的
通过本课程的学习我们不仅能加深理解和巩固理论课上所学的有关PCM编码和解码的基本概念、基本理论和基本方法,而且能锻炼我们分析问题和解决问题的能力;同时对我们进行良好的独立工作习惯和科学素质的培养,为今后参加科学工作打下良好的基础。
1.2课程设计内容
利用MATLAB集成环境下的Simulink仿真平台,设计一个PCM编码与解码系统.用示波器观察编码与解码前后的信号波形;加上各种噪声源,或含有噪声的信道,最后根据运行结果和波形来分析该系统性能。
1.3课程设计要求
1.熟悉MATLAB环境下的Simulink仿真平台,熟悉PCM编码与解码原理,构建PCM编码与解码电路图.
2.对模拟信号进行采样、量化、编码(PCM),将编码后的信号输入信道再进行PCM解码,还原出原信号.建立仿真模型,分析仿真波形.
3.在编码与解码电路间加上噪声源,或者加入含有噪声源的信道,并给出仿真波形。
4.在老师的指导下,要求独立完成课程设计的全部内容,并按要求编写课程设计学年论文,能正确阐述和分析设计和实验结果。
什么是编码,什么是解码。
原理解读
toyijiu的专栏
05-13
2955
原文:http://www.cnblogs.com/luguo3000/p/3592562.html
编码问题一直都伴随着程序猿从不间断,刚开始学编程的时候好多次遇到编码问题,解决了文件读取的编码问题,又遇到了网络编码问题,解决了网络编码问题又遇到了数据库编码问题。
总结一下无非就是编码原理没搞清楚,希望本文能从原理上让菜鸟们理解编码,遇到问题可以从原理上搞定编码。
一.编码
人类先有了自己的语言,交流了若干个世纪,然后出现了计算机。
可惜计算机只认0和1,人类只能认文字,双方都不能妥协,那就必须要有一个
解码和编码
新知的博客
07-26
967
解码和编码
计算机中存储的信息都是二进制的
编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101
编码:真实字符与二进制串的对应关系,真实字符→二进制串
解码:二进制串与真实字符的对应关系,二进制串→真实字符
ASCII&UTF-8
ASCII以1字节8个bit位表示一个字符,首位全是0
unicode编码系统是为表达任意语言而设计的,为了防止存储上的冗余(比如,对应ascii码的部分),其采用了变长编码,但变长编码给解码带来了困难
编码与解码的概念
System.out.println
03-22
709
1.将字符转换为字节的方式称为编码
2.将字节转换为字符的方式称为解码
编码与解码
qq_45022743的博客
01-04
1274
什么是编码与解码
电脑是由电路板组成,电路板里面集成了无数的电阻和电容,交流电经过电容的时候,电压比较低记为低电平,用0表示,交流电流过电阻的时候,电压比较高,记为高电平,用1来表示;所以每一个1和0在计算机中被称为
位,也就是bit位。
然而,如果使用一个位来表示计算机中的最小存储单元,那么这个存储单元只能存储0或者1,
存储的范围太小了,所以我们规定用用8个bit位为一组来表示计算机的最小存储单元。
8个位每个位上能存储0或者1,则byte的存储范围则是00000000-111
编码和解码、调制与解调
热门推荐
zhongxiandou的专栏
04-15
1万+
通信系统中为什么要进行编码和解码?常见的编码方式有哪些?通信系统中为什么要进行调制与解调?调制的分类方法有哪些?
编码和解码的理解
小橙子的博客
12-17
1799
(个人理解,有不恰当之处,评论区指正)
一、概念理解
1.将字符按照一定的编码格式转换为字节的方式称为编码
2.将字节按照一定的编码格式转换为字符的方式称为解码
二、案例
1.爬虫案例
importrequests
url='http://www.baidu.com'
r=requests.get(url)
print(r.encoding)
print(r.text...
编码和解码
u012485099的博客
07-28
217
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
可查看RFC2045~RFC2049,上面有MIME的详细规范。
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。
采用Base64编码具有不可读性,需要解码后才能阅读。
Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符(+,/,=),不同的应用场景又分别研制了Base64的各种“变种”。
表单。
...
对于编码器与解码器的理解
weixin_40642114的博客
03-09
6638
知乎上的一篇文章
SegNet是一个由剑桥大学团队开发的图像分割的开源项目,该项目可以对图像中的物体所在区域进行分割,例如车,马路,行人等,并且精确到像素级别。
图像分割的实现由一个卷积神经网络构成,该网络主要有两部分组成:encoder与decoder。
encoder是一个沿用VGG16的网络模型,主要对物体信息进行解析。
decoder将解析后的信息对应成最终的图像形式,即每个像素都用对应其物体信...
编码器和解码器的概念理解
问道于盲
11-02
9743
编码器和解码器最开始看概念的时候有点懵,因为说编码器先把原始信号给编码,然后解码器再给解出来得到原始信号。
哈?这是干啥,原始信号本来就有,用这个搞啥,做无用功吗?
1.首先,说一下编码器和解码器干什么用的。
我们举个例子。
一个是,类似PCA这样的,做矩阵分解,然后恢复。
矩阵分解里,把原始大矩阵变成了几个小矩阵相乘,信息没有丢失,但需要存储的数据变少了很多。
虽然解码的时候需要额外的计算,但相比起来,小矩阵更符合我们的需求。
实际使用的例子,如,图片的传输。
以往,是一行一行的像素传输的,所以,网速慢的时
编码,解码通俗理解
最新发布
YW博客
08-12
110
解码的过程就是把二进制数据按照一定的长度分组,比如utf-8是8位为一组,那么就按照8位划分,然后转换为数字,然后再到这张表里去找对应的字符。
比如编码的规范中规定8位为一组,而解码却是16位为一组,或者我规定97代表的是a字符,你规定96是a字符,97是b字符。
这些字符每一个都对应了一个数字(这是规定好的),而数字在计算机又再一步被转换为二进制数据,这样就可以被传输了。
比如像base64的索引表,每个字符都被规定了对应的数字。
啊按照utf-8规范被转换为啊,这个过程就是编码。
...
带你了解什么是编码,什么是解码?
向上的"狼"的博客
07-17
942
预习知识
电脑是由电路板组成,电路板里面集成了无数的电阻和电容,交流电经过电容的时候,电压比较低记为低电平,用O表示,交流电流过电阻的时候,电压比较高,记为高电平,用1来表示;所以每一个1和O在计算机中被称为位,也就是bit位。
然而,如果使用一个位来表示计算机中的最小存储单元,那么这个存储单元只能存储O或者1,存储的范围太小了,所以我们规定用用8个bit位为一组来表示计算机的最小存储单元。
8个位每个位上能存储O或者1,则byte的存储范围则是00000000-11111111(换算成整数即0...
一文搞懂字符编码与解码
simpleGq的专栏
12-09
574
最近遇到一个关于字符编码与解码的问题,使用GB2312保存了一个文件,然后使用vscode打开的时候,发现中文字符全是乱码了。
为什么会出现这个问题?研究了一下编码与解码。
文件在计算机上存储的都是二进制。
顾名思义,编码就是把一个字符编码成二进制码存起来的方式,而解码就是把这个二进制码按照原本编码的规则还原成原来的字符。
我们经常使用的ASCII码,是上...
关于编码的理解
Geoffrey_one的博客
07-05
307
一、字节关于编码的理解始于字节这一数据格式。
整型转字节类型使用bytes()函数,其他进制转2进制使用bin()函数。
1.定义 字节是一系列单字节的组合,每一个字节都是[0,255](无符号)范围内组成。
单字节:一个字节8个数据位2.转换(1)字符串和字节串的相互转化 参考自:https://blog.csdn.net/baidu_19473529/article/de...
关于解码与编码
huangguangyourena的博客
03-08
1万+
今天在看书的时候看到编码的时候整个人脑子都被浆糊了一样,感觉真的很烦。
上网查过之后现在终于明白编码与解码到底是怎么一回事了。
下面请听我娓娓道来。
先看一段代码:importrequests
url='http://www.baidu.com'
r=requests.get(url)
text=r.text
print(text)运行一下发现乱码了:我的ide是默认编码为utf-8的,那...
聊聊编码与解码(弄懂bytes,utf-8,ascii,unicode)
以梦为码随路可栖
08-19
7331
引言每次坐下来写一篇博客总结的时候都会先长长的舒一口气,从被一个问题困扰开始,到最后搞清楚弄明白原理,其间经历的过程就像从窒息的环境中慢慢恢复呼吸。
作为一个计算机专业的学生,大学四年的时间竟然从没仔细思考过编码与解码的细节是惭愧的,只记得当年老师讲过的一条真理:”遇到编码的问题统一选utf8就好了”。
知其然不知其所以然,我曾无数次鄙视过我的灵魂,此时此刻就是无数次中的一次。
字符编码的由...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022CSDN
皮肤主题:酷酷鲨
设计师:CSDN官方博客
返回首页
爱就是恒久忍耐
CSDN认证博客专家
CSDN认证企业博客
码龄10年
暂无认证
236
原创
8764
周排名
1508
总排名
69万+
访问
等级
9049
积分
1092
粉丝
1867
获赞
1406
评论
4519
收藏
私信
关注
热门文章
Linux下CMake简明教程
135670
Python把整数转换成16进制字符串
24645
C++11中=delete的巧妙用法
23651
学习open62541---[1]初始
21462
学习open62541---[2]使用UaExpert
17684
分类专栏
canopen
8篇
open62541
70篇
C++多线程
1篇
OPCUA
3篇
node-opcua
2篇
行为树
6篇
OPCUA_asyncua
4篇
网络编程
1篇
threejs
2篇
golang
1篇
Python
9篇
C++研发工程师
16篇
设计模式学习
7篇
ARM学习
操作系统
嵌入式
13篇
C/C++
108篇
编译
5篇
linux
31篇
设计模式
7篇
编程
30篇
最新评论
学习CANopen---[3]NMT报文
剑心缘:
您讲的太好了,最近在学canopen,您有没有什么推荐的学习路线呀
学习open62541---[70]深入理解变量监测
爱就是恒久忍耐:
只是用来测试,从上一篇文章中拷贝来的,就没改了
学习open62541---[70]深入理解变量监测
qq_44697563:
感谢博主的分享!但是有一个问题是,在server端不是写了两个变化的节点,但是监控的时候一直返回的只有一个节点的变化值,这个cyclecallback写两个值有什么意义吗
C++11中=delete的巧妙用法
Jason_哥:
如果把默认构造函数设置为delete类就无法构造了要实现禁止拷贝则需要将拷贝构造函数设置为delete
学习CANopen---[2]PythonCANopen简单用法
爱就是恒久忍耐:
包含Line5的那一部分都删掉
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
学习open62541---[70]深入理解变量监测
学习CANopen---[7]使用块(Block)下载
学习CANopen---[6]自定义对象字典
2022
09月
4篇
08月
1篇
07月
2篇
06月
3篇
05月
14篇
04月
5篇
03月
3篇
02月
1篇
01月
9篇
2021年63篇
2020年59篇
2019年49篇
2018年25篇
目录
目录
分类专栏
canopen
8篇
open62541
70篇
C++多线程
1篇
OPCUA
3篇
node-opcua
2篇
行为树
6篇
OPCUA_asyncua
4篇
网络编程
1篇
threejs
2篇
golang
1篇
Python
9篇
C++研发工程师
16篇
设计模式学习
7篇
ARM学习
操作系统
嵌入式
13篇
C/C++
108篇
编译
5篇
linux
31篇
设计模式
7篇
编程
30篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
爱就是恒久忍耐
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:--)
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1編碼解碼_百度百科
編碼是信息從一種形式或格式轉換為另一種形式的過程也稱為計算機編程語言的代碼簡稱編碼。用預先規定的方法將文字、數字或其它對象編成數碼,或將信息、數據轉換成規定 ...
- 2加密解密- Base64 - 在线工具
BASE64编码. BASE64解码. BASE64: 在线工具由OSCHINA.NET 所有| @新浪微博 |阿里云提供服务器和带宽|意见反馈 | 粤ICP备12009483号-6 | 深圳市...
- 3Base64 在線編碼解碼工具- totools
Base64編碼是從二進制到字符的過程,可用於在HTTP環境下傳遞較長的標識信息。採用Base64編碼具有不可讀性,需要解碼後才能閱讀。同時Base64編碼廣泛用於加密解密領域,由於 ...
- 4編碼/解碼 - HCL Product Documentation
編碼/解碼 · 您可以按一下工具> PowerTools ,從AppScan 執行編碼/解碼 編碼/解碼 · 您可以從Windows「開始」功能表,按一下所有程式> [AppScan Stand...
- 5编码和解码的概念理解 - CSDN
编码:用户输入字符,计算机记录对应的二进制的值。 解码:计算机根据记录的二进制的值,显示成人类可以认识的字符图像。