当前位置: 首页 > 编程日记 > 正文

我所理解的字符编码

1,Ascii和ebcic.

为了方便交流,美国人发明了ASCII编码,后来被确认为国际标准。后来以发明了EBCDIC编码。

一般地说,开放的操作系统(LINUX 、WINDOWS等)采用ASCII 编码,而大型主机系统(MVS 、OS/390等)采用EBCDIC 编码。在发送数据给对方前,需要事先告知对方自己所使用的编码,或者通过转码,使不同编码方案的两个系统可沟通自如。无论是ASCII码还是EBCDIC码,都无法对拥有几万个的汉字进行编码。

2、MBCS

为了扩充ascii,不同的国家和地区制定了不同的标准。以中国和日本为例,发布了gb2312,gbk,gis等,他们的大致编码方式是不管理中文、英文等都使用两个字符来表示一个字符。统称为ansi编码,又称为多字节字符集MBCS.这时,不同国家和地区的编码不能相互转换,后来,国际就发布了unicode编码,作为联接各国的编程。尽管现在的unicode并不能真正联接万国,但其目的是这样的。所以,有人叫unicode为万国编码。

Unicode变成所有编码转换的中间介质。所有的编码都有一个转换器可以转换到Unicode,而Unicode也可以转换到其他所有的编码。

3、GB-2312

GB-2312属于ansi编码的一种,GB 2312是一个简体中文字符集,由6763个常用汉字和682个全角的非汉字字符组成。由于字符数量比较大,GB2312采用了二维矩阵编码法对所有字符进行编码。首先构造一个94行94列的方阵,对每一行称为一个“区”,每一列称为一个“位”,然后将所有字符依照下表的规律填写到方阵中。这样所有的字符在方阵中都有一个唯一的位置,这个位置可以用区号、位号合成表示,称为字符的区位码。如第一个汉字“啊”出现在第16区的第1位上,其区位码为1601。因为区位码同字符的位置是完全对应的,因此区位码同字符之间也是一一对应的。这样所有的字符都可通过其区位码转换为数字编码信息。

4、GBK

GBK即汉字内码扩展规范,K为扩展的汉语拼音中“扩”字的声母。GBK编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。

5、unicode

如果有一种编码,将世界上所有的符号都纳入其中,无论是英文、日文、还是中文等,大家都使用这个编码表,就不会出现编码不匹配现象。每个符号对应一个唯一的编码,乱码问题就不存在了。这就是Unicode编码。
Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,“汉”这个字的Unicode编码是U+6C49。
Unicode固然统一了编码方式,但是它的效率不高,比如UCS-4(Unicode的标准之一)规定用4个字节存储一个符号,那么每个英文字母前都必然有三个字节是0,这对存储和传输来说都很耗资源。

6、utf-8

为了提高Unicode的编码效率,于是就出现了UTF-8编码。UTF-8可以根据不同的符号自动选择编码的长短。比如英文字母可以只用1个字节就够了。

转载于:https://www.cnblogs.com/lyzfp/p/11421328.html

相关文章:

void函数调用时显示不允许使用不完整的_C语言的角落——这些C语言不常用的特性你知道吗?...

变长参数列表头文件定义了一些宏,当函数参数未知时去获取函数的参数变量:typedef va_list宏:va_start()va_arg()va_end()va_list类型通过stdarg宏定义来访问一个函数的参数表,参数列表的末尾会用省略号省略 (va_list用来保存va_st…

centos下为firefox安装flash插件的几种方法

首先去官网去下载RPM格式的安装包,比如:flash-plugin-11.1.102.55-release.i386.rpm,默认下载位置是该用户的下载文件夹。 方法一:用gnome 双击该文件,按提示操作即可。 方法二:命令行,在该文件…

eoLinker AMS 专业版V3.3发布:分享项目可以测试并选择分享内容等

eoLinker AMS是集API文档管理、API自动化测试、开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台。目前eoLinker AMS已经为来自全球的超过两万家企业托管超过一百万的API,我们感谢每个曾经以及正在支持我们的企业以及开发者朋友&…

MyBatis基础-CRUD

一、mybatis 环境搭建步骤 第一步:创建 maven 工程第二步:导入坐标第三步:编写必要代码(实体类和持久层接口)第四步:编写 SqlMapConfig.xml第五步:编写映射配置文件第六步:编写测…

python答题系统的代码_Python考试系统自动答题(教务处)

要求 某学校要求登录教务处网站 做一个测试题 30分钟300道题,240分几个,题量不少,题还不好做。 研究发现原来在网站上有题库 但是一道题只有6s 的时间作答 边查边做时间不够 人生苦短,何不Python当歌? 来个自动答题的智…

((ios开发学习笔记九)) Simple TableView 实现(附 实例源码)

实现效果: 实现过程: Step One 创建单个窗体项目 Step Two 创建control 接口 Step Three 创建窗体和关联关系 Step four 实现table view 的接口 control 初始化选择数据 实现Data Source 部分 实现TableView委托部分 源码下载 TestTableView.zip转载于:…

24个为Web开发人员准备的CSS3实用教程

本文搜集了一些关于CSS3的最新教程。你可以根据这些教程或技术来实现网页设计,包括:文字阴影、圆角框、盒模型尺寸计算(box sizing)、透明效果处理、多重背景、边框图像等。以下这些都是非常实用的CSS3教程,提供了许多…

前端基础之JQuery

一、什么是JQuery [1] jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。 [2] jQuery是一种新型的JavaScript库。jq是用js写的,能用jq实现,用js都能…

测试linux下磁盘的读写速率

1) 通过df -h命令查看磁盘情况Filesystem Size Used Avail Use% Mounted on/dev/sda4 289G 61G 214G 23% /tmpfs 7.8G 0 7.8G 0% /dev/shm/dev/sda2 969M 62M 857M 7% /boot/dev/sda1 …

multipart request_Request和Response

Response讲解7.1 Response简介定义辅助 servlet 将响应发送到客户端的对象。servlet 容器创建 ServletResponse 对象,并将它作为参数传递给 servlet 的 service 方法。 要发送 MIME 正文响应中的二进制数据,请使用 #getOutputStream 返回的 ServletOutpu…

SharePoint 客户端经常弹出Windows验证登录框问题

场景描述: Site工作人员UserA创建了一个Task,并且Assign给UserB。UserB接到来自Task List的邮件通知。这时UserA发现Assign的人错了,重新修改Task Item,将任务重新Assign给另外一个用户UserC,并且同时收回了UserB的访问…

SkFlattenable /Registrar/

/** \class SkFlattenableSkFlattenable is the base class for objects that need to be flattenedinto a data stream for either transport or as part of the key to thefont cache.*/ class SK_API SkFlattenable : public SkRefCnt {}以SkFlattenable为基类的对象是&…

启动 ServiceFabric Windows服务报1053

Remote Procedure Call (RPC) Locator和 Windows Firewall是否启动。 以管理员身份运行PowerShell,输入Unregister-ScheduledTask FabricCounters,然后输入Y。 到这一步基本OK了 右下角reset sf后查看是否存在 X:\SfDevCluster\Data\ImageStoreShare 文件…

Spring基础面试题(一)

Spring是什么?Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于…

C#线程间操作无效: 从不是创建控件 XX 的线程访问它

转自:http://www.arasplm.net/index.php/zh/community/myblog/c-xx-.html 前些天做的要使用到线程的项目,现在和大家分享一下感受! 以下面小列子为例,给出这个问题的解决办法。下面的列子是以一个计数器为列讲解的。 public Form1…

boost安装_【环境搭建】源码安装Boost

写C的话boost是必不可少的,本文将boost的安装过程用写成脚本,直接一行命令解决整个编译安装过程:sudo bash boost-linux-installer.sh下面是boost-linux-installer.sh的内容:#!/usr/bin/env bash

css新闻列表优化-突破思维新方法更利于搜索引擎

效果图如下: 也许你会认为这个是很简单的,呵呵那是因为一般写这个列表的时候用的都是时间写在前面,标题写在后面,那样对于显示来说是先有时间后有标题的,对搜索引擎不是很友好。 老方法大概是这样的: html代…

STL使用记录

1&#xff0c;map 对map实在不熟。。。赶紧记录一下用法吧。 后来再发现新的用法再补充吧 定义&#xff1a; map<int, int> m; 其中的int可以为自定义的任何类型。 m[key值类型的变量] value值&#xff1b; 但是注意如果key值是自定义的结构体的话&#xff0c;一定要重载…

Linux tcpdump命令详解与Wireshark

简介 用简单的话来定义tcpdump&#xff0c;就是&#xff1a;dump the traffic on a network&#xff0c;根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过…

dubbo yml配置_利用springboot+dubbo,构建分布式微服务,全程注解开发(一)

随着互联网的发展&#xff0c;网站应用的规模不断扩大&#xff0c;常规的垂直应用架构已无法应对&#xff0c;分布式服务架构以及流动计算架构势在必行&#xff0c;亟需一个治理系统确保架构有条不紊的演进。一、先来一张图说起 Dubbo&#xff0c;相信大家都不会陌生&#xff0…

treeview 保持选中状态

发现当treeview控件失去焦点的时候&#xff0c;会丢失选中状态的指示&#xff08;条目的蓝色背景&#xff09;。如果想要保持&#xff0c;只要设置treeview的一个属性即可&#xff1a; this.treeView1.HideSelection false; 但是&#xff0c;发现阴影很浅&#xff0c;但是聊胜…

1-2-Active Directory 域服务准备概述

参照: http://technet.microsoft.com/zh-cn/library/gg398869.aspx Active Directory 域服务准备概述 上一次修改主题&#xff1a; 2010-12-09 要为 Microsoft Lync Server 2010 部署准备 Active Directory 域服务 (AD DS)&#xff0c;必须按照特定顺序执行三个步骤。 下表介绍…

iOS----------拨打电话的3种方式

iOS实现拨打电话的方式&#xff1a;方法一、requestWithURL&#xff0c;此方法拨打前弹出提示NSMutableString * string [[NSMutableString alloc] initWithFormat:"tel:%","136****0000"];UIWebView * callWebview [[UIWebView alloc] init];[callWebvi…

linux命令 iperf-网络性能测试工具

iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽&#xff0c;具有多种参数和UDP特性。iperf可以报告带宽&#xff0c;延迟抖动和数据包丢失。利用iperf这一特性&#xff0c;可以用来测试一些网络设备如路由器&#xff0c;防火墙&am…

SearchHit转成java对象_Java开发中最常犯的10个错误,你中招了吗?

http://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/阅读目录Array转ArrayList判断一个数组是否包含某个值在循环内部删除List中的一个元素HashTable与HashMap使用集合原始类型(raw type)访问级别ArrayList和LinkedList可变与不可变父类和子类的构造方…

hdu1160FatMouse's Speed(DP)

http://acm.hdu.edu.cn/showproblem.php?pid1160 1A 破题敲了一个多小时 最长上升子序列和最长下降子序列合起来 并把路径保留下来 题中是可以打乱顺序去找的 先按W上升或S下降排下序 再按最升和最降做 View Code 1 #include <iostream>2 #include<cstdio>3 #inc…

五、springcloud之客户端负载均衡Ribbon

一、简介 在微服务架构中&#xff0c;业务都会被拆分成一个独立的服务&#xff0c;服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式&#xff1a; 一种是ribbonrestTemplate&#xff0c; 另一种是feign。 ribbon是一个负载均衡客户端&#xff0c;可以很好…

fiddler 抓取winform wcf包

修改客户端配置<system.net> <defaultProxy> <proxy bypassonlocal"false" usesystemdefault"true" /> </defaultProxy> </system.net> 最好使用机器名替换 localhost 2 fiddler 过滤设置 3 查看抓包数据 fiddler 抓包官方说…

dhcp报文_动态地址分配DHCP,IP地址管理方式及分配原则,一分钟了解下

一、DHCP简介DHCP(Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议)用来为网络设备动态地分配 IP地址等网络配置参数。DHCP 采用客户端/服务器通信模式&#xff0c;由客户端向服务器提出请求分配网络配置参数的申请&#xff0c;服务器返回为客户端分配的 IP …

不同浏览器的怪癖小结【转】

1.在设置div top,left是必须一起设置&#xff0c;否则对象消失 ,说明层postion设为fixed document.getElementById("mydiv").style.top10"px"; document.getElementById("mydiv").style.left10"px"; 在chrome下测试没有这个问题 2.获取…