计算机中的字符编码

字符编码

  1. 什么是计算机编码

    计算机只能处理二进制的数据,其它的数据都要进行转换,但转换必须要有一套字符编码(是字符与二进制的一个对应关系)。常用的字符:a-z、0-9、其它的符号等,计算机也不能直接处理。

    (字符编码类似于翻译的字典)

  2. 常用的计算机编码(字符集、字符编码)

    ASCII编码:American Standard Code for Information Interchange美国信息交换标准代码

    用1个字节(7位或8位二进制)来表示一个字符。比如:字母a,用二进制表示01100001

  • ANSI编码:其它国家为了显示本国的语言,都对ASCII码进行了扩展,加入了本国的语言编码。
  • ANSI编码都是用两个字节(16位二进制)来表示一个汉字。
  • ANSI编码跟操作系统有直接关系,你安装什么操作系统,那你的ANSI编码就是相应的编码。

例如:我们安装的是中文操作系统,对应的默认编码GB2312。

  • GB2312编码:对6763个常用汉字和682个全角字符进行了编码。GB2312编码用两个字节表示一个汉字,所以理论上最多可以表示2^16=65536个汉字。
  • GBK编码:对GB2312进行了扩展,用于显示一些罕见的汉字。
  • BIG5编码:繁体汉字编码
  • JIS编码:日本文字编码

?

3、编码演变图示

时间: 2024-11-08 21:57:05

计算机中的字符编码的相关文章

计算机中的字符编码详解

前记: 现在有一个想法: 实现自己的一个开源分词系统,这个计划说大不大,说小也不是很easy.目前的计划是先通读 ansj与HanLP的源码. 读源码是一种进步很快的方式,就是刚开始会感觉很痛苦,刚读就发现,所知甚少,所以 吾生也有涯而学也无涯,慢慢来吧 我想会更新一系列关于这两个项目的博文,目前看得比较少,没什么好写的,算是起始状态,算个Day 1 吧. 过几天可能会写一篇Tire树的,这种树常用来作为分词中查找词典的基本数据结构,在java源代码中是以汉字的int值作为下标的,于是想看一下这

Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(一)

package com.android.filebrowser; import java.io.*; import java.net.*; public class FileEncodingDetect { static final int GB2312 = 0; static final int ASCII = 1; static final int UTF8 = 2; static final int UNICODE = 3; //static final int GBK = 4; //st

perl脚本中对字符编码的支持

# 使perl程序支持utf8宽字符编码,不添加下面几行打印中文字符时将出现Wide character in print警告或错误.use utf8;binmode(STDIN, ':encoding(utf8)');binmode(STDOUT, ':encoding(utf8)');binmode(STDERR, ':encoding(utf8)');perl脚本处理中文等字符时,有时从文件读出的数据为字节码,需要进行解码才能正确显示.使用Encode模块即可处理.use Encode;#

浅析白盒审计中的字符编码及SQL注入

尽管现在呼吁所有的程序都使用unicode编码,所有的网站都使用utf-8编码,来一个统一的国际规范.但仍然有很多,包括国内及国外(特别是非英语国家)的一些cms,仍然使用着自己国家的一套编码,比如gbk,作为自己默认的编码类型.也有一些cms为了考虑老用户,所以出了gbk和utf-8两个版本. 我们就以gbk字符编码为示范,拉开帷幕.gbk是一种多字符编码,具体定义自行百度.但有一个地方尤其要注意: 通常来说,一个gbk编码汉字,占用2个字节.一个utf-8编码的汉字,占用3个字节.在php中

C#中的字符编码问题

该文件的编码为GB18030,每行的宽度为23个字符,其中第1-8列为员工姓名,第10-23列为工资额.现在我们要写一个C#程序求出该单位员工的平均工资,如下所示: 1using System; 2using System.IO; 3using System.Text; 4 5namespace Skyiv.Ben.Test 6{ 7  sealed class Avg 8  { 9    static void Main() 10    { 11      try 12      { 13  

Python中的字符编码问题

初学Python,本身就在一些语句处有些迷惑,如 a = u'你好',不知加上这个Unicode参数有何作用.一直到做爬虫抓取新闻时,在cmd的输出上总是出现错误.经过检索相关知识后,对一些编码问题做个小总结,其中参杂个人猜测,难免会有错误,以后再慢慢修改了. 1.一定要声明#coding=XXX吗? 首先.py文件中,编码默认是ASCII的,一旦py文件中出现了中文类似编码,IDE就会提示 也就是提示文中出现了非ASCII,建议在文件开始制定编码,当然我们常用的是#coding:utf8 (貌

Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(二)

Intent intent = getIntent(); String contentUri = null; Uri uri =null; if (intent.getData() != null) { uri = intent.getData(); contentUri = "file".equals(uri.getScheme()) ? FileContentProvider.BASE_URI + uri.getEncodedPath() : uri.toString(); Str

ASP中有关字符编码转换的几个有用函数

ASP中有关字符编码转换的几个有用函数 <%1.'UTF转GB---将UTF8编码文字转换为GB编码文字function UTF2GB(UTFStr) for Dig=1 to len(UTFStr)   '如果UTF8编码文字以%开头则进行转换  if mid(UTFStr,Dig,1)="%" then      'UTF8编码文字大于8则转换为汉字    if len(UTFStr) >= Dig+8 then        GBStr=GBStr & Con

转:JAVA中各种字符编码类型转换

import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */public class ChangeCharset { /** 7位ASCII字符,也叫作ISO646-US.Unicode字符集的基本拉丁块 */ public static final String US_ASCII = "US-ASCII"; /** ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1 */ public static final