首页 > 其他分享 >字符串和编码

字符串和编码

时间:2022-11-17 23:47:57浏览次数:74  
标签:编码 UTF 字符 二进制 乱码 https 字符串

背景:

日常工作中,或多或少的都会遇到编码问题,大都定义为UTF-8 或者GB2312 都能处理,但是总觉得一知半解,今稍微总结下

白话理解:

1.字符编码产生原因

在计算机底层存储中都是由一串01编码组成的二进制文件,但是人类无法读懂复杂冗长的二进制文件,所以编码的产生就是为了将人类文字和二进制文件相互转换。

 

 2.字符编码(密码本 字符集)的发展史

   字符编码的发展细节查看摘录部分,此处想说的是ASCII、GB2312、GBK、GB18030、UTF8、ANSI、Latin1等编码的产生都是对应时期一个产物,他们的产生都是为了解决对应之前编码的一个问题,所以其兼容性如下

 

 

类似例子 如记事本里打“联通”为什么会变成乱码?_菠菜cqb的博客-CSDN博客_联通为什么是乱码(https://blog.csdn.net/spinachcqb/article/details/11616451)

 ==》UTF-8编码是现在标准的解决方案,当遇到乱码或者编码出错的时候,先想想原本数据是用什么编码存储的,然后使用对应的方式解码就好。单纯从二进制数据是无法判断它是用什么编码存储的。

正是由于不完全兼容,所以经常会出现乱码问题,乱码的原因是编码(加密)和解码(解密)用的不是同一个字符集(密码本)。服务器和计算机内存中统一使用的都是Unicode编码,当需要保存到硬盘或者需要传输的时候,就一般转换为UTF-8编码,但是实际文件保存时部分字符不属于UTF-8 部分,所以utf-8 无法找到正确的码值转换关系就乱码或者解码不正确。综上解决乱码问题的方式就是文件打开和保存都明确指定字符编码,不要让计算机去匹配猜测用哪个编码,有可能猜错的!!!

 

理论摘录:

 

 

 

 

 

 

 

 

 

 

 

学习摘抄原文链接:

1.https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896

 

2.https://blog.csdn.net/huanglong0438/article/details/117652697

3.https://zhuanlan.zhihu.com/p/107943002
4.https://zhuanlan.zhihu.com/p/46216008

标签:编码,UTF,字符,二进制,乱码,https,字符串
From: https://www.cnblogs.com/Spring-Rain/p/16897891.html

相关文章

  • 冒泡排序法2.0版本,加输入、输出数组字符串
    大家晚上好呀,今天给大家带来的是冒泡排序法的代码,首先我们以一些简单的数字来举例,根据昨天已有的知识点,我们可以利用二重循环写出基本代码,如图但是我这个有问题,但我目前还没......
  • Java中的字符串
    String类声明字符串声明一个字符串就是创建一个字符串对象。语法Stringa;Stringa,b,c;注意Stringa;相当于Stringa=null;创建字符串给字符串赋值的方法:1.......
  • JavaScript字符串MD5
    进行HTTP网络通信的时候,调用API向服务器请求数据,有时为了防止API调用过程中被黑客恶意篡改,所请求参数需要进行MD5算法计算,得到摘要签名。服务端会根据请求参数,对签名进行验......
  • 09python字符串
    在05python字符串基础中我们已经大致介绍过字符串,知道如何创建字符串,以及如何使用索引和切片来访问字符串中的字符。这篇文章主要介绍如何使用字符串来设置其他值的格式(比......
  • 声网深度学习时序编码器的资源预测实践丨Dev for Dev 专栏
    本文为「DevforDev专栏」系列内容,作者为声网大后端智能运营算法团队算法工程师@黄南薰。随着深度学习技术的发展,编码器的结构在构建神经网络中成为了热门之选,在计算......
  • [oeasy]python0016_编码_encode_编号_字节_计算机
    编码(encode)回忆上次内容上次找到了字符和字节状态之间的映射对应关系字符对应着二进制字节二进制字节也对应着字符这种字节状态是用2位16进制数来表示的hex(n)可以把数字......
  • 字符编码拦截器延伸出的拦截器
    方案一AdviceAdapter+Interceptorget使用拦截器校验,post请求使用@ControllerAdvicehttps://cloud.tencent.com/developer/article/1516443packagecom.shendi.dolphin......
  • java正则匹配字符串最外层{}里的内容,包含{}
    Strings="start{sffff''{adfaw3ea}wfewrfwef----}";Stringregex="(?<=\\{).*(?=\\})";Patternpattern=Pattern.compile(regex);Matchermatcher=pattern.matc......
  • Oracle注册表修改 乱码编码
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0"NLS_LANG"值改为"SIMPLIFIEDCHINESE_CHINA.ZHS16GBK"AMERICAN.AL32UTF8乱码更改o......
  • 状态机编码方式:二进制binary、独热码 one-hot、格雷码 gray
    关于有限状态机中常用的三种编码方式各自的优缺点 二进制编码:优点:每次加一,编码方式简单;压缩编码,使用寄存器少缺点:翻转次数多,功耗大;易出现毛刺;状态跳转需要组合逻辑多;......