今天学逆向时遇到ANSI字符,心生疑虑,故去学习了一下ANSI编码,总结如下:

ANSI编码出现背景

当计算机诞生后,(美国)科学家们觉得一个字节(2的8次方,256个编码)足以表示所有字母,科学符号,特殊符号了,于是有了ASCII编码。
但是ASCII编码忽略了欧洲的一些语言,比如法国的变音符号,德国的字母Ä ä、Ö ö、Ü ü、ß等,然后欧洲人就用ASCII编码用剩下的编码(128-255)为自己特有的符号编码。
但是等到亚洲人以及更多的语言加入时,256个编码不够用了,比如中国浩如烟海的文字,仅常用文字就有几千个,于是在俭省节约和够用的条件下诞生了中文的两个字节表示一个汉字的编码方式(GBK编码),类似的,非英语文化圈渐渐都用了类似的编码方式,不同语言用不同的编码方式。
但是,这种情况又会造成各国计算机交流时的不便。

ANSI诞生

在以上技术和时代背景下,急需一种能让各种编码方式相互交流的方法,于是ANSI诞生了。微软出售给不同国家与地区的操作系统采用不同的编码方式,微软用一个叫“Windows code pages”(在命令行下执行chcp命令可以查看当前code page的值)的值来判断系统默认ANSI编码,比如:简体中文的code page值为936(它表示GBK编码,win95之前表示GB2312,详见:Microsoft Windows’ Code Page 936),当然,Windows code pages的值是可以改的,命令提示符下,我们可以通过chcp命令来修改当前终端(仅仅是当前终端,系统默认的ANSI编码并不会改变)的active code page,比如:
(1) 执行:chcp 437,code page改为437,当前终端的默认编码就为ASCII编码了(汉字就成乱码了);
(2) 执行:chcp 936,code page改为936,当前终端的默认编码就为GBK编码了(汉字又能正常显示了)。(更改命令行默认codepage参看:设置cmd的codepage的方法)。
Windows下code page是根据当前系统区域(locale)来设置的,要想修改系统默认的“ANSI编码”,我们可以通过修改系统区域来实现(“控制面板” =>“时钟、语言和区域”=>“区域和语言”=>“管理”=>“更改系统区域设置…”)

编码翻译官ANSI编码——沙窝李相关推荐

  1. ANSI编码是什么编码方式?ANSI编码和GBK什么关系

    用notepad可以将ANSI 转换成utf8 如果你的文本之前是UTF8可以转换成ANSI(GBK),如果你的文本之前是ANSI,可以转换成UTF8

  2. ANSI编码和标准代码页(code page)

    电脑最先是美国人发明出来开始使用的,他们觉得一个字节(可以表示256个编码)表示英语世界里所有的字母.数字和常用特殊符号已经绰绰有余了(其实ASCII只用了前127个编码)于是他们使用ASCII编码, ...

  3. 字节码:ASCII编码:单字节编码,ANSI编码:多字节编码,UNICODE编码:宽字节编码

    字符字节与编码 字符是人们常用的一些记号,比如"1", "汉", "お","℃"等等,包括各种语系的语言和一些符号都可以 ...

  4. 字符编码之Ascll编码,ANSI编码,Unicode编码,UTF-8编码 ,BOM

    从大一上C语言就开始认识了Ascll编码,ascll码也算是我们最早所接触的编码 [1]Ascll码 Ascll码由三部分组成: 第一部分从00H到1FH共32个,一般用来通信或作为开工至之用,有的可 ...

  5. 【转】刨根究底字符编码之九——字符编码方案的演变与字节序

    字符编码方案的演变与字节序 一.字符编码方案的演变 1. 根据前面的介绍,对于字符编码方案的演变,我们大致上可简单地划分为三个阶段: ① ASCII编码方案阶段 → ② ANSI编码方案阶段 → ③ ...

  6. 【转】刨根究底字符编码之七——ANSI编码与代码页

    一.ANSI编码 1. 如前所述,在全世界所有国家和地区的文字符号统一编码的UCS/Unicode编码方案问世之前(UCS.Unicode后文有详细介绍),各个国家.地区为了用计算机记录并显示自己的字 ...

  7. 字符编码ASCII、ANSI、DBCS、MBCS、GB2312、GBK、GB18030、UTF-8、UTF-16、Unicode、emoji

    字符必须编码后才能被计算机处理.计算机使用的缺省编码方式就是计算机的内码. 内码是指操作系统内部的字符编码.早期操作系统的内码是与语言相关的.现在的Windows在系统内部支持Unicode,然后用代 ...

  8. 记事本里出现该文件含有Unicode格式的字符,当保存为ANSI编码的文本时,该字符将丢失。怎么解决?

    这是因为ANSI编码并不包括所有字符, 如果文档里有一些特殊符号或其他语言的文字时, 就有可能丢失,那就修改编码方式. 出现警告窗口时,点击"取消". 从菜单中选择"保存 ...

  9. ansi编码_了解字符编码,不再恐惧文件乱码

    背景: 工作上,不同部门经常需要共享文件,偶尔会出现打开文件出现的是一堆乱码,这时候很多人的第一反应是恐惧,认为是数据传输出现错误问题,要求发送方再重新传输一份.其实主要都是字符编码不一致的原因,只要 ...

  10. python如何将utf-8编码文件改为ansi编码文件_Excel导入CSV文件乱码?两个小方法让文件正常显示...

    最近网友抱怨,收到别人发来的数据表,打开后长这样: CSV再EXCEL中显示为乱码 除了数字,其他是啥玩意儿 完全乱码... (乱码!乱马!乱吗?乱!) 但是当使用记事本打开,检查确认是否文件有问题时 ...

最新文章

  1. 在Eclipse中导入Tiny工程,有下面的错误,是什么原因?
  2. webAPI过滤器添加参数签名
  3. 【数据结构与算法】之深入解析“串联所有单词的子串”的求解思路与算法示例
  4. gradle下载的依赖包位置 及 修改
  5. Linux内核中流量控制(4)
  6. 飞鸽传书系统上开发是一件多么惬意的事情
  7. OC基础1:一些基本概念
  8. 第二章课后习题2-5
  9. Spring源码系列:依赖注入(二)createBean
  10. VSCode 6 月 Java 更新,编辑器就该有编辑器的样子
  11. 创建mysql用户并在单个数据库上赋权
  12. 【汇编优化】之arm32汇编优化
  13. Leetcode 218.天际线问题
  14. 怎么在线把QLV格式转成MP4
  15. 关于微信公众号accesstoken
  16. Rust的审核团队突然宣布集体辞职
  17. 32个c语言关键字发音,加注汉语发音的C语言32个语句和9种控制语
  18. python编程基础—类与对象
  19. 【python实例】判断是否为酒后驾车
  20. html中设置页面正在加载,在加载Web页面时显示正在等待的窗体

热门文章

  1. OJ 196 让气球飞
  2. c++模板的问题解析-问题1
  3. 基于瞬时无功功率ip-iq的谐波信号检测Simulink仿真
  4. 别再写jsp了,Thymeleaf它不香吗?
  5. 器Resco发布移动应用程序动态CRM客户需要所有与它想现在谁
  6. VMware创建虚拟机并打通网络
  7. proliferfer各种富集分析大杂烩 各种多种数据集来源的富集分析
  8. 21天战拖记——Day16:系统化,接着填“衣柜整理法”的坑(2014-05-19)
  9. 要么庸俗,要么孤独——2016你最应为自己看的十本书
  10. 程序员的烦恼:西安年薪20万嫌低,去上海35万,有必要跳么