首页 > 其他分享 >ASCII,Latin1,Unicode,UTF-8与GBK编码的区别

ASCII,Latin1,Unicode,UTF-8与GBK编码的区别

时间:2023-05-08 17:45:14浏览次数:48  
标签:编码 UTF Latin1 符号 GBK Unicode 编码方式 ASCII

3.Unicode编码
世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。

可以想象,如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是Unicode

Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

如果所有字符都按照最大存储空间存储,那必然会浪费很大的空间,比如所有字符都按照3字节存储,但是英文字母只需要一个字节存储就够了,就等于说一个Unicode编码的英文文档是ASCII编码文档存储空间的三倍。
所以,便有了变长编码—-UTF-8。

4.UTF-8编码
UTF-8就是在互联网上使用最广的一种Unicode的实现方式。其他实现方式还包括UTF-16和UTF-32,不过在互联网上基本不用。

UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。如ASCII编码的内容UTf-8中就是用一个字符存储的。

参考:ASCII,Latin1,Unicode,UTF-8与GBK编码的区别_BLGT_57的博客-CSDN博客

标签:编码,UTF,Latin1,符号,GBK,Unicode,编码方式,ASCII
From: https://www.cnblogs.com/littleheadache/p/17382465.html

相关文章

  • 在cmd中运行javac编译java文件报错: 编码GBK的不可映射字符、 非法字符: \65279
    操作背景:我在eclipse建立了个HelloWorld.java文件,格式UTF-8,然后复制保存到C:\Users\alex\test目录下,在此处运行按住Shift+右键调出cmd命令窗口,输入命令:javac HelloWorld.java,然后报错:HelloWorld.java:6:错误:编码GBK的不可映射字符解决办法:方法一:带上编码utf-8,运行命令:javac-e......
  • Ruby安装错误:in `encode': U+00CD to IBM437 in conversion from UTF-16LE to UTF-8 t
    解决方法:去本地路径下修改编码,这么提示是因为编码不一致导致的。  修改registry文件中的编码:  修改后就没有问题了。 来源:https://www.cnblogs.com/py-tiger/p/5372258.html......
  • SpringSecurity过滤器之LogoutFilter
    LogoutFilter用于注销登录。privatevoiddoFilter(HttpServletRequestrequest,HttpServletResponseresponse,FilterChainchain) throwsIOException,ServletException{ if(requiresLogout(request,response)){ Authenticationauth=SecurityContextHolder.getC......
  • 在终端(Terminal)执行 gradle build 命令控制台提示 GBK 字符编码错误
     1、错误提示: 1.1、使用EditPlus和IntellJIDEA都显示文件是UTF-8,明明都是UTF-8,却依然不同。 1.2、通过命令行工具查看活动代码页为936,其对应字符编码GBK,由此可知是字符编码不一致导致的。 1.3、EditPlus和IntellJIDEA和命令行(CMD)工具或终端使用的字符集不同,又由于......
  • Java 读取UTF-8文件中文乱码
    Java读取UTF-8文件中文乱码 InputStreamReaderisr=newInputStreamReader(newFileInputStream(file),"UTF-8");BufferedReaderread=newBufferedReader(isr);  例如:privatestaticStringreadUTF8File(StringfilePath)throwsIOException{ InputStreamReaderi......
  • 字符串的格式转换,GBK.UTF8.WCHAR.CHAR
    这里介绍的是使用Windowsapi进行的转换,看一下源代码:template<typenameAy,typenameTy>CStringT<Ay,StrTraitMFC_DLL<Ay>>StrTran(constTy*val,intopt=CP_ACP)constnoexcept{static_assert((std::is_same_v<Ay,char>&&std:......
  • IntelliJ Idea设置text file encoding UTF-8;换行符为 Unix 格式
    设置textfileencodingUTF-8Transparentnative-to-asciiconversion这个功能会将我们输入的所有字符转换成Unicode序列码保存,避免properties的乱码问题。CreateUTF-8files选择withNOBOMUTF-8BOM又叫UTF-8签名。BOM,byteordermark。UTF-8的BOM在文件头部,用来标识......
  • SciTE4AutoHotkey新建文件默认编码 UTF-8 with BOM
    若SciTE4AutoHotkey,能在新建时自动选编码为 带BOM的UTF-8的就省事省心了。可通过配置SciTEGlobal.properties、SciTEUser.properties无法解决这个难题,似乎是个bug。通过菜单 工具Scite4AutoHotkeysettings...设置也只能使新建的文件编码为UTF-8NOBOM经过无数次的搜索以......
  • PHP Warning: json_encode(): Invalid UTF-8 sequence in argument
    今天调试代码的时候发现json_encode()报错问题如下描述:问题代码:$requestData=json_encode(array('wechat_group_name'=>$wechat_group_name,'text_message'=>$text_message,//该值是中文一个拼接字符串));能后报错PHPWarning:json_encode():Inv......
  • Unknown character set: 'utf8mb4'
    评:Unknowncharacterset:'utf8mb4'从昨天晚上开始,困扰了我几个小时的问题,无论用c3p0还是用Spring的DriverManagerDataSource都无法连接我服务器上的远程数据库,一直报的错误就是:org.springframework.jdbc.CannotGetJdbcConnectionException:CouldnotgetJDBCConnection......