首页 > 其他分享 >字、字节、字符、编码方式

字、字节、字符、编码方式

时间:2023-08-11 12:44:38浏览次数:39  
标签:字符 字节 编码 占用 编码方式 ASCII

参考文章详解计算机中的字、字节(Byte)、比特(bit)及它们之间的关系

字、字节

由若干个字节组成,一个字节是8个比特bit。字的位数叫做字长,即cpu一次处理二进制代码的位数。

换算:

  • 1字节(Byte/byte)= 8位(Bit/bit)
  • 1字符占用的字节不确定(不同的编码方式不同)
  • 1KB=1024Byte;1MB=1024KB。。。
  • 32位计算机:1字=32位=4字节;64位计算机:1字=64位=8字节

字符的编码

字符是指计算机中的文字和符号。在计算机的具体表示中,又有不同的编码,估计编程的人都比较懂,常见有ASCII码、GB2312、GBK,UTF-8编码、Unicode编码。

GB2312和GBK

GB2312和GBK是中国汉字编码方案标准,同时兼容ASCII码。GB2312是简体汉字编码规范,但GBK是大字符集,不仅包含了简体中文,繁体中文还包括了日语、韩语等所有亚洲文字的双字节字符。
最新汉字编码标准GB18030,其中已经可以支持中日韩以及藏文、蒙文,维吾尔文等少数民族文字。但这些说到底还是以中文为主。

ASCII

ASCII码是美国信息互换标准代码,是一套基于拉丁字母的字符编码,其中包含了33个控制字符(具有某些特殊功能)和95个可显示字符,总共定义了128个字符。ASCII码当中一个汉字占两个字节空间,一个英文字母(不区分大小写)占一个字节空间。ASCII 编码是最简单的西文编码方案。

Unicode

Unicode编码是ASCII码的一个扩展,采用双字节对字符进行编码。一个英文等于两个字节,一个中文(含繁体)也等于两个字节。英文标点占用一个字节,中文标点则占用2个字节。

UTF-8

UTF-8编码是一种多字节编码,也是目前互联网应用最广泛的一种Unicode编码方式。最大特点就是可变长,可根据字符的不同变换长度。一个英文字符占用一个字节,一个中文(含繁体)占用三个字节。英文标点占用1个字节,中文标点同样占用3个字节。
UTF-8包含了全世界所有国家需要用到的字符,是国际编码,通用性极强。使用这种编码的话,一旦文章中同时出现中文、英文或者繁体,浏览器都会支持,而不会出现乱码。

标签:字符,字节,编码,占用,编码方式,ASCII
From: https://www.cnblogs.com/swbna/p/17622712.html

相关文章

  • 开心档之TypeScript String(字符串)
    TypeScriptString(字符串)目录TypeScriptString(字符串)语法String对象属性String方法String对象用于处理文本(字符串)。语法vartxt=newString("string");或者更简单方式:vartxt="string";String对象属性下表列出了String对象支持的属性:序号属性&描述实例1.constructor......
  • java 字符串中的编码和解码问题
     ......
  • java 字符流-编码
            ......
  • 字节跳动基于火山引擎DataLeap的一站式数据治理架构实践
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群在7月22日举行的ArchSummit全球架构师峰会(深圳站)上,来自火山引擎DataLeap的技术专家为大家带来了字节跳动基于火山引擎DataLeap的全域数据治理方案分享。本次分享共分为机遇挑战、字节数......
  • C++ 字符串拼接技巧(stringstream、字符串迭代器、字符串的加法运算符、std::accumulat
    在C++中,经常需要将多个字符串拼接成一个大字符串。这个过程很容易出错,但有一些技巧可以帮助我们轻松地实现这个目标。本文将介绍一些C++中join字符串的技巧。一、使用stringstreamstringstream是一个流。使用它可以将多个字符串连接起来,然后将它们转换为一个字符串。可......
  • 删除字符使字符串变好
    一个字符串如果没有三个连续相同字符,那么它就是一个好字符串。给你一个字符串s,请你从s删除最少的字符,使它变成一个好字符串。请你返回删除后的字符串。题目数据保证答案总是唯一的。示例1:输入:s="leeetcode"输出:"leetcode"解释:从第一组'e'里面删除一个'......
  • 《剑指Offer》-48-最长不含重复字符串的子字符串
    这题以前做过,和力扣-3重复 intlengthOfLongestSubstring(strings){ //本来应该是用map,但是其实可以使用数组替代,下标对应了字母 unordered_map<char,int>map; intlen=s.size(),maxLen=0;//初始化为0是因为可能字符串长度为0 vector<int>dp(len+1,0);//多......
  • java_转义字符
    转义符解释\t制表位\n换行\\一个\\"一个"\'一个'\r光标回到本行的行首packagebicly;publicclassBicycleDemo{publicstaticvoidmain(String[]args){System.out.print("AAA\tBBB\nCCC\\DDD\"EEE\n......
  • 在Java中操作Redis_Spring Data Redis使用方式_操作字符串类型的数据
        ......
  • 在线代码工具:根据十六进制字符串解析对应的字段值
    说明hexString是字节序是小端的(读值得时候会转为大端来读取值)valueByteSizes是个根据要求顺序读取值得字节大小的数组。例如:newbyte[]{4,2,1},程序会顺序读取hexString字符串:第一个值取4个字节并读取其值,第2个值取2个字节,第3个值取1个字节,4.(如果存在)第4个值取1个字节。......