字符编码、常见字符集解析(ASCII、Unicode、UTF-8、GB2312等)

字符编码及乱码 前言:从学习编程开始,字符编码和乱码问题一直伴随在我们左右。ASCII、GBK、UTF-8、Unicode、Latin 1、ANSI、ISO-8859-1等字符编码瞬时出现在我的脑海,就像电子围绕原子核一样不停转动。但是,扪心自问,我们真的了解它们吗?它们的底层原理是什么?同样是乱码,为什么有时候是“???”,有时候是“浣犲ソ”或者“ä½ å�½”。遇到乱码,我们可以轻易的在网上找到解决方案,但是下次遇到类似甚至同样的问题,还是要去网上找答案,因为我们不知道乱码的根本原因。本文将详细介绍常见编码的底层原理. 阅读详情
AI摘要

本文探讨了字符编码的基础概念,包括ASCII、Unicode、UTF-8的区别,以及C++和Python中的字符处理。特别关注了ASCII的局限性、Unicode的扩展性和UTF-8的兼容性。

各种字符编码的转换是个非常容易混淆的问题,这篇文章旨在梳理字符编码、常见字符集的基本概念,下一篇整理C++、python在不同应用中的代码实现。

字符编码

数字计算机中的存储器唯一可以存储的是比特(bit),因此如果要想在计算机上处理信息,就必须把它们按位存储。为了将文本表示为数字形式,我们需要构建一种系统来为每一个字母赋予一个唯一的编码。数字和标点符号也算做文本的一种形式,所以它们也必须拥有自己的编码。

所有由符号所表示的字母和数字(Alphanumeric)都需要编码。具有这种功能的系统被称为字符编码集(Coded Character Set),系统内的每个独立编码称为字符编码(Character Codes)。1

ASCII

所有人都遵循并使用统一化的字符编码,不同计算机之间就可以互相交流文本信息。

ASCII码就是一种被广泛使用的字符编码标准,它被称为美国信息交换标准码(American Standard Code for Information Interchange),简称为ASCII码,发音很像ASS-key。从1967年正式公布至今,它一直是计算机产业中最重要的标准。

ASCII码是7位编码,它的二进制取值范围为0000000~1111111,对应于十六进制就是00h~7Fh,最多可以表示128个编码。下面具体展示一些常用字符及相应的十六进制编码。

数字和标点符号

大写字母+标点符号
在这里插入图片描述
小写字母+标点符号
在这里插入图片描述
像这样一段字符串:
Hello, you!
转换成ASCII码,用十六进制数表示如下:
48 65 6C 6F 2C 20 79 6F 75 21

在ASCII码中,一个大写字母与其对应的小写字母的ASCII码值相差20h。这种规律大大简化了程序代码的编写,例如一段将特定的字符串变成大写的程序。

前面讲到的95个编码也被称为图形文字(graphic characters),因为它们可以被显示出来。其实ASCII码还包含33个控制字符(control characters),它们用来执行某一特定功能,因而不用显示出来。比如:
在这里插入图片描述
在这里插入图片描述
ASCII的局限性

简单的7位编码只适用于以英语为主的国家,在面对数以万计的中国、日本、韩国的象形文字,以及奇怪的朝鲜文音节等各国语言面前就不够用了。

为了应对各种语言的编码需求,近几十年来出现了许多不同版本的扩展的ASCII码,多个不同的版本严重影响了编码的一致性,导致了混淆和不兼容。其中通用的ASCII码字符,是用单个字节编码表示的,相比而言,成千上万的象形文字则是双字节编码,这在无形之中增加了使用这种字符集的难度。

Unicode

Unicode,统一码,也叫万国码,学名是"Universal Multiple-Octet Coded Character Set",简称为UCS。现在用的是UCS-2,即2个字节编码,而UCS-4是为了防止将来2个字节不够用才开发的。

相对于ASCII的7位编码,目前Unicode采用了16位编码,每一个字符需要2个字节。也就是说Unicode的字符编码范围为0000h~FFFFh,总共可以表示65,536个不同字符。全世界所有的人类语言,尤其是经常出现在计算机通信过程中的语言,都可以使用同一个编码系统,而且这种系统还具备很高的扩展性。

例如,采用ASCII编码方式存储的著作《怒火之花》,其所占据的存储空间约为1 MB。而如果采用Unicode编码,约占2 MB。为了使编码系统兼容,Unicode在存储空间上付出了相应的代价。

UTF-8

虽然Unicode字符集中的码位唯一,但由于计算机存储数据通常是以字节为单位的,而且出于兼容之前的ASCII、大数小段数段、节省存储空间等诸多原因,通常情况下,我们需要一种具体的编码方式来对字符码位进行存储。

比较常见的基于Unicode字符集的编码方式有UTF-8、UTF-16及UTF-32。2

以UTF-8为例,其采用了1~6字节的变长编码方式编码Unicode,英文通常使用1字节表示,且与ASCII是兼容的,而中文常用3字节进行表示。UTF-8编码由于较为节约存储空间,因此使用得比较广泛。下图所示就是UTF-8的编码方式。

在这里插入图片描述

现行桌面系统中,Windows内部采用了UTF-16的编码方式,而Mac OS、Linux等则采用了UTF-8编码方式。

GB2312

除了基于Unicode字符集的UTF-8、UTF-16等编码外,在中文语言地区,我们还有一些常见的字符集及其编码方式,GB2312、Big5就是其中影响最大、使用最广泛的两种。

GB2312的出现先于Unicode。早在20世纪80年代,GB2312作为简体中文的国家标准被颁布使用。GB2312字符集收入6763个汉字和682个非汉字图形字符,而在编码上,是采用了基于区位码的一种编码方式,采用2字节表示一个中文字符。GB2312在中国大陆地区及新加坡都有广泛的使用。

而BIG5则常见于繁体中文,俗称“大五码”。BIG5是长期以来的繁体中文的业界标准,共收录了13060个中文字,也采用了2字节的方式来表示繁体中文。BIG5在中国台湾、香港、澳门等地区有着广泛的使用。2

不同的编码方式对于相同的二进制字符串的解释是不同的。常见的,如果一个UTF-8编码的网页中的字符串按照GB2312编码进行显示,就会出现乱码。

而BIG5和GB2312之间的乱码则在中文地区软件中有着“悠久”的历史。不过随着Unicode的使用和发展,以及软件系统对多种编码的支持,程序发生乱码的现象也越来越少。

C++中的字符类型

C++提供了几种字符类型,其中多数支持国际化。基本的字符类型是char,一个char的空间应确保可以存放机器基本字符集中任意字符对应的数字值。也就是说,一个char的大小和一个机器字节一样。其他字符类型用于扩展字符集,如wchar_t、char16_t、char32_t。

wchar_t类型用于确保可以存放机器最大扩展字符集中的任意一个字符,类型char16_t和char32_t则为Unicode字符集服务(Unicode是用于表示所有自然语言中字符的标准)。

在Visual C++中,宽字符字符串表示为一个 wchar_t[] 数组并由 wchar_t* 指针指向它。 可以通过用字母 L 作为字符的前缀将任何 ASCII 字符表示为宽字符形式。 例如,L’\0’ 是终止宽(16 位)NULL 字符。3

用L前缀标识宽字符常量和字符串,用%lc和%ls显示宽字符数据4:

#include <wchar.h>

wchar_t wch = L'I';
wchar_t w_arr[20] = L"am wide!";
printf("%lc %ls\n",wch,w_arr);

C++11引入以下两种新的内置数据类型来存储不同编码长度的Unicode数据。

  • char16_t:用于存储UTF-16编码的Unicode数据。
  • char32_t:用于存储UTF-32编码的Unicode数据。

至于UTF-8编码的Unicode数据,C++11还是使用8字节宽度的char类型的数组来保存。而char16_t和char32_t的长度则犹如其名称所显示的那样,长度分别为16字节和32字节,对任何编译器或者系统都是一样的。

此外,C++11还定义了一些常量字符串的前缀。在声明常量字符串的时候,这些前缀声明可以让编译器使字符串按照前缀类型产生数据。事实上,C++11一共定义了3种这样的前缀:

  • u8表示为UTF-8编码。
  • u表示为UTF-16编码。
  • U表示为UTF-32编码。

3种前缀对应于3种不同的Unicode编码。一旦声明了这些前缀,编译器会在产生代码的时候按照相应的编码方式存储。

以上3种前缀加上基于宽字符wchar_t的前缀“L”,及不加前缀的普通字符串字面量,算来在C++11中,一共有了5种方式来声明字符串字面量,其中4种是前缀表达的。2

python中的字符编码

在现代Python中(此处指Python 3.0及以上), Unicode成为字符串类型的一等类,用于更好地兼容处理ASCII和非ASCII文本。

在Python中,数字、英文、小数点、下划线和空格占一个字节;一个汉字可能会占2~4个字节,占几个字节取决于采用的编码。汉字在GBK/GB2312编码中占2个字节,在UTF-8/unicode中一般占用3个字节(或4个字节)。5

我们可以使用enocde方法将一个Unicode字符串转换为UTF-8字节6:

a = "hello"
b = "你好"

a_uft8 = a.encode('utf-8')
b_uft8 = b.encode('utf-8')

a_uft8输出:

b'hello'

b_uft8输出:

b'\xe4\xbd\xa0\xe5\xa5\xbd'

假设你知道一个字节对象的Unicode编码,你可以再使用decode方法进行解码:

a_uft8.decode('utf-8')	#输出:'hello'
b_uft8.decode('utf-8')	#输出:'你好'

小结

  • ASCII简单的7位编码适用于以英语为主的国家。
  • Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。
  • UTF-8是一种常见的基于Unicode字符集的编码方式。
  • GB2312是面向简体中文,BIG5是面向繁体中文。
  • Unicode还在其发展期,Unicode、GB2312以及BIG5等多种编码共存的状况可能在以后较长的时间内都会持续下去。

  1. 《编码:隐匿在计算机软硬件背后的语言》 ↩︎

  2. 《深入理解C++11》 ↩︎ ↩︎ ↩︎

  3. https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/2dax2h36(v=vs.100) ↩︎

  4. 《C Primer Plus(第6版)》 ↩︎

  5. 《Python从入门到精通》 ↩︎

  6. 《利用python进行数据分析》 ↩︎

字符集与字符编码 目录 1.  概述 1.1 基本概念 1.2 映射关系 2.  ASCII字符集及编码 3.  GBXXXX字符集及编码 3.1 GB2312 3.2 GBK 3.3 GB 18030 3.4 代码页 4.  Big5字符集&amp;编码 5.  Unicode字符集 6.  UTF编码 6.1. UTF-32编码 6.2. UTF-16编码 6.3. UTF-8编码... 阅读详情

相关推荐

一文读懂字符编码ASCII、Unicode与UTF-8

最近在写一个Http协议栈当涉及CRLF控制字符写入时,发现自己对CRLF与\r\n的关系不太了解,因此决定详细学习一下;查阅资料的同时,又遇到UTF-8与ASCII编码的疑问。

bjxiaxueliang的CODING小栈 1792

Python常用字符编码(转)

Python常用字符编码 字符编码的常用种类介绍   第一种:ASCII码     ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。如...

dianwei0041的博客 573

字符编码标准详解与应用:ASCII、Unicode、UTF-8与GB2312

字符编码是将字符集中的字符转换成计算机能够存储和处理的数据的规则和约定。它是信息技术中不可或缺的基础,允许文本以电子形式进行存储和传输。字符编码方案的正确实施对于保证数据的完整性和兼容性至关重要,尤其是在全球化和多语言环境中。ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于拉丁字母的字符编码标准,用于显示现代英语和其他西欧语言。它是现代字符编码的鼻祖,为之后的字符编码系统奠定了基础。

weixin_42300144的博客 1029

字符编码

目录 一、ASCII码 二、 Unicode编码 三、UTF-8 四、URL编码 五、base64编码 六、附 一、ASCII码 计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有`0`和`1`两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从`00000000`到`11111111`。 上个世纪60年代,美国制定了一套字符编码,对英语字.

weixin_51045259的博客 5256

别再到处找模板了!手把手教你用Vue3+Element Plus搭建一个‘能跑起来’的管理后台原型

本文详细介绍了如何利用Vue3和Element Plus在72小时内快速搭建一个功能完整的管理后台原型。从环境准备到项目获取、依赖安装、原型定制、数据模拟以及构建优化,手把手教你打造一个可直接演示的后台系统,特别适合创业者快速验证产品逻辑。

weixin_26854555的博客 182

AstrBot插件开发全攻略:从零编写一个天气查询插件(Python实战)

本文提供了一份详细的AstrBot插件开发实战指南,手把手教你使用Python从零编写一个智能天气查询插件。内容涵盖插件系统核心设计、开发环境搭建、API调用与数据处理、自然语言交互实现以及插件打包发布全流程,帮助你快速掌握基于AstrBot框架的聊天机器人功能扩展技能。

weixin_29212867的博客 1082

字符集and字符集与字符编码

总结:二维表是一种很好的学习方式,通过横纵对比,互联网的搜索,调取各位的搜索调查整合能力,学计算机的同学们可以借鉴哦~小tip:如若文章有不对的,不完整的地方,欢迎评论区指出,互相学习,共同进步吧!!!

2302_81104769的博客 1096

Matlab:常见涡旋光束仿真

代码: clc clear all close all %% 环形涡旋光束 N = 200; lambda = 632e-9; %波长为632nm k = 2*pi/lambda; %波数 w0 = 3; %束腰半径 x = linspace(-10,10,N); y = linspace(-10,10,N); [X,Y] = meshgrid(x,y); [t...

zzz997的博客 3万+

字符编码和字符集编码(转载)

问题1、字符集与字符编码? 字符是各种文字和符号的总称,包括各个国家文字、标点符号、图形符号、数字等。 字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同。 常见字符集有:ASCII字符集、ISO 8859字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。 计算机

cloud 的学习时代 746

AUTOSAR OS演示项目搭建与验证

请注意,以上代码只是一个简单的示例,用于说明AUTOSAR OS项目的搭建和验证过程。此外,AUTOSAR OS还提供了其他功能和API,如事件、消息队列和任务间通信等,可以根据实际需求进行使用。AUTOSAR OS是AUTOSAR架构中的一部分,它提供了一种可移植且可扩展的操作系统,用于管理嵌入式应用程序的任务和资源。通过以上步骤,我们成功搭建了一个基于AUTOSAR OS的演示项目,并验证了应用程序任务的执行顺序。3、打开app.c文件,并编写一个简单的应用程序,作为我们的示例任务。

weixin_50547796的博客 195

论文必备 - 绘制YOLOv8模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线

文件是模型在训练过程中,实时记录训练的结果,和当时控制台输出的信息一致。当然还包含一些验证损失,学习率变化等数据。epoch:记录训练的轮次,总轮次为训练文件中设置的epochs大小。:边界框损失。在训练过程中,此值逐渐变小,越小表示模型预测的边界框与真实边界框之间的差异越小。:分类损失。在训练过程中,此值逐渐变小,越小表示模型对目标类别的预测越准确。:分布焦点损失。将边界框的回归问题转化为对边界框四个边的分布预测问题,越小表示预测越准确。:精确率也称为查准率。

Limiiiing的博客 1406

【字符编码详解】ASCII、GB2312、GBK、UTF-8、UTF-16编码与Unicode字符集

在计算机世界中,只有0、1两种数字,不论是英文、中文还是数字,在计算机中都是以01的形式存储的。因此,要想把文字存储到计算机上,就要规定特定的01序列来表示文字。编码就是规定特定的01序列来表示文字的过程,编码表示了字符在计算机中的存储形式。

仅以此博客记录日常学习工作中所思所得,水平有限,难登大雅,万望海涵。 1万+

十九、帧间预测编码_5、skip模式和direct模式

帧间预测的几种特殊模式: P_Skip: 即COPY模式,在该模式下无运动矢量残差,无像素预测残差。重建时以MVP作为实际运动矢量,以预测像素块作为重建; B_Skip:同P_Skip类似的是该模式下同样无运动矢量残差,无像素预测残差。重建时,以Direct模式获取双向MV,以预测像素块作为重建; B_Direct:B_Direct模式分为B_Direct_8x8和B_Direct_16x16,分别表示整个宏块和一个子块按照B_Direct模式编码。该模式下,无运动矢量残差,有像素预测残差。重建时,以D.

叮咚的博客 2374

史诗级讲解计算机字符编码的前世今生 —— ASCII、Unicode、UTF-8、GBK、GB2312

我们知道计算机的世界只有 0和1,如果没有字符编码,我们看到的就是一串“110010100101100111001....”,我们的沟通就好像是在对牛弹琴,我看不懂它,它看不懂我。字符编码就好比人类和机器之间的翻译程序,把我们熟知的字符文字翻译成机器能读懂的二进制,同时把二进制翻译成我们能看懂的字符。字符编码(Character Encoding)也称字集码,是把字符集中的字符,编码为指定集合中的某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储或者通信网络的传递。

流华追梦的专栏 5411

JavaFX 概述

要从 JavaFX 中充分受益,了解 JavaFX 的设计方式以及对 JavaFX 包含的功能有一个很好的概述是很有用的。本文的目的是为您提供 JavaFX 概述。本文将首先介绍一般的 JavaFX 设计,然后介绍 JavaFX 中的各种特性。如果您熟悉 Flash/Flex,您会发现 JavaFX 在某种程度上受到了 Flash/Flex 的启发。JavaFX 中也有一些相同的想法。一般来说,JavaFX 应用程序包含一个或多个对应于窗口的阶段。每个阶段都有一个场景。

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 406

Playwright Test Agent 实战:零代码基础也能写自动化测试「喂饭教程」

本文详细介绍了Playwright智能体的三大核心组件:规划智能体设计测试策略,生成智能体转换用例为代码,修复智能体自动修正失败测试。教程包含环境配置步骤、智能体使用方法和实战案例,展示了如何通过自然语言指令快速创建稳定的测试脚本。相比传统方法,Playwright智能体大幅降低测试自动化门槛,提升效率并减少维护成本,使测试人员无需编码基础也能实现高质量的自动化测试。

blues_C的博客 2017

常见的字符编码ascii、gb2312、utf-8和base64的规则

本篇文章将对常见的字符编码进行介绍,并重点总结gb2312、utf-8和数字证书中常使用的base64编码。

Geoff Blog 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【字符编码】详解ASCII、GB2312、GBK、Unicode、UTF-8、UTF-16、UTF-32

相信大家都遇到过打开一个文本文件然后出现乱码的情况,经典的"锟斤拷"乱码(bushi),如下:没在深夜见过"锟斤拷"的人,不足以语人生...好了回归正题,乱码到底是怎么来的呢?知名乱码"锟斤拷"又为何如此常见?不着急,要理解乱码,首先需要知道计算是如何存储为文字的:学过计算机的都知道,计算机只能存储0、1这两个二进制数,无论是文本文件里的数字、字母、汉字标点符号控制字符emoji😈👴等都需要用某种方式转换成二进制数字进行存储,需要的时候再读出来。

m0_55908255的博客 1837

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ASCII、GB2312、Unicode和UTF-8

ANSI:文件的编码就是两个字节D1 CF,这正是严的 GB2312 编码,这也暗示 GB2312 是采用大头方式存储的。Unicode:编码是四个字节,其中FF FE表明是小头方式存储,真正的编码是4E 25。Unicode big endian:编码是四个字节,其中FE FF表明是大头方式存储。UTF-8:编码是六个字节,前三个字节EF BB BF表示这是UTF-8编码,后三个E4B8A5就是严的具体编码,它的存储顺序与编码顺序是一致的。

weixin_44623642的博客 2365

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ASCII字符集、Unicode字符集下UTF-8 和UTF-16编码、GBK(GB2312)字符集

https://www.cnblogs.com/Braveliu/p/9460812.html

baidu_16370559的博客 5420

常用字符集编码 ASCII GB2312 GBK GB18030 unicode UTF-8

常用字符集编码 ASCII GB2312 GBK GB18030 unicode UTF-8 ASCII ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。 只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式

1万+

字符编码简单总结-ASCII、ASNI、GB2312、Unicode、UTF-8

文章目录1、ASCII码---美国信息交换标准代码,共128个字符,用于英语/西欧语言显示2、ASNI---ASCII的扩展,Windows系统中代表系统默认编码(不固定)3、常见中文编码GB2312(简体)/ BIG5(繁体)/ GBK(GB2312的扩展)/ GB18030(最新最全)4、国际码Unicode包含各国语言业界标准,编码方式UTF-8/UTF-16等 目前的文字编码标准主要有 ASCII、GB2312、GBK、Unicode等。ASCII 编码是最简单的西文编码方案。GB2312、GBK、

runafterhit的博客 7498

字符编码讲解:ASCII、GB2312、GBK、Unicode、UTF-8关系

字符编码讲解ASCIIGB2312GBKGB18030Unicode(万国码)UTF-8 ASCII 标准的ACSII码是用一个字节中的7个二进制位,最高位0或者作为校验位,可以表示2^7即0000 0000~0111 1111 共128个字符。 扩展的ASCII码当欧洲国家使用时128个符号是不够的,于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号,用满了一个字节的8个二进制位,可以表示2^8即256个字符 GB2312 当中国也开始使用计算机的时候,因为中国文化博大精深,象形文字多啊,256

qq_43254236的博客 4253

ASCII Unicode UTF-8 字符集 字符编码

在编码过程中我们经常会使用字符,而使用字符的前提就是把字符放入内存中,而放入内存中的仅仅是字符的编号,而不是真正的字符实体。值,至于以什么样的二进制值存储和计算机中进行传输是通过编码方式来的) ,根据上表可以得出,存储这个字需要三个字节(两个字节的编码方式,除去首位固定的。是一个很大的字符集,它只规定了这个字符集中每个字符对应的码值是多少,具体的编码规则是由 UTF 系列的编码规则实现的。),就是多个字符的集合。不同的字符集包含的字符数量是不一样的,包含的字符也不一样,对应的编码方式也不同。

weixin_43443341的博客 1164

字符集:ASCII、GB2312、GBK、GB18030、Unicode

文章目录1 字符集、代码点、编码的概念2 ASCII2.1 ASCII字符集编码的字符2.2 ASCII字符集的代码点2.3 ASCII字符集的编码方式3 GB23123.1 GB2312字符集编码的字符3.2 GB2312字符集的代码点3.3 GB2312字符集的编码方式 1 字符集、代码点、编码的概念 任何信息存储在计算机中,都将是无差别的0和1的序列。所以,我们要想在计算机中存储字符,那么,...

木子皿--啥都不会的菜鸟 3490

区别:字符集 字符编码 存储编码 ASCII Unicode UCS UTF ANSI UTF-8 UTF16 UTF32 GB2312 GBK GB18030 BIG-5

开发过程中,使用文本文档、Word文档过程中,经常会遇到乱码,这些乱码是怎么产生的? 字符存储都与哪些因素有关? 经常听到的字符集、字符编码是什么?文件存储编码是什么? Windows记事本另存为时可以选择:ANSI、Unicode、Unicode Big Ending、UTF-8,分别表示什么?如何转换?Windows系统如何区分一个txt文档是什么编码的? 基本概念 字符(Chara...

smartDMer的专栏 2312
上一篇: 马氏距离详解(数学原理、适用场景、应用示例代码)
下一篇: 机器学习核心概念、常用术语整理(建议收藏)
虾米小馄饨
博客等级 码龄12年 1万+粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值