只能说一声叹息,被这个东东害的一点都不清,及时到现在,我也不知道我是不是搞不清了。但是不发点牢骚是不行的,也算为搞得更清楚打点基础,(我感觉这就是教育中的一点,一直被告诉应该这样做,一直只给你一个答案,告诉你按着这么做就可以了。 只知道正确,却不知道错在哪,纠结中……)。编程时总是能听到赫赫大名的Unicode,确总是感觉遥不可及。

首先说下windows下的记事本,这个东西首先让我在概念上模糊,而且是看了很多人的博客之类的文章,真是越看越乱,我的头里现在知道的也不知道是不是正确的。好吧,让我细细说来让我迷惑的问题。通常我用的是windows,unix/linux之类的也用过来的,但是没有注意到,总的来说就是不常用,我的大脑已经被microsoft洗脑了,很多东西就会固执己见,发现自己理解的总是与大神理解点是不同的。

当我记事本存储文本文件时,一共有4种编码方式,分别为ANSI、Unicode、Unicode big endian、UTF-8。第一个ANSI就让我非常迷惑了,我看见这个有两个词“ansi c”、“ansi码”,百度一下给出一个百度百科,只是让我更迷惑(百度百科真想让我骂人,说不清是什么东西),ansi翻译过来就是美国国家标准学会,这个跟我想知道有个毛关系。还有一个定义-一种字符代码,这应该就是我想要找的,“不同的国家和地区制定了不同的标准,由此产生了GB2312、BIG5、JIS等各自的编码标准,这些使用两个字节表示一个字符的各种汉字延伸编码方式,称为ansi编码“。因为我还知道ascii,这是基于拉丁字母的一套计算机编码系统,而前面有时asci编码,TMD,搞晕了都是编码,那个是那个。百度搜下ascii竟然没有对应的词条,还好有维基,这里就是我比较熟悉的那套编码了,33个字符无法显示,95个可显示字符,共有128个字符0~127(0x0~0x7E),所以先前看到的ansi编码通常使用0x80~0xFF范围的2个字节来表示1个字符,为了兼容ascii码,不知道理解是否正确,反正弄乱了。在维基百科上我找不到”asci编码“这个词条,现在我都不知道这个词条是否正确。然后在知乎让我理解加深了一点,记事本上的编码”ansi‘其实是Windows code pages,这个模式根据当前locale选定具体的编码,比如是简体中文下是GBK,那么此文本编码是GBK,若是台湾繁体中文下locale是BIG5,那么ansi编码就是BIG5编码,反正兼容ascii的地区码都是asci编码,不知道理解是否正确。

下面三个都与Unicode这个词有关,先说我好像知道的。windows下的unicode应该是UTF-16LE、Unicode big endian就是指UTF-16BE。Unicode现在这个词到底指什么弄不明白,UCS-2、UCS-4、UTF-8、UTF-16、UTF-32这又来5个东西,“Unicode应该是包括字符集和编码集的,ascii其实也是,只是字符集与编码集一样”。我也不知道这是哪里看到的,照这样前面两个是字符集,后两个是编码集。在维基百科上写道Unicode是计算机科学领域里的一项业界标准,但我们常常说Unicode编码,带来烦恼真多。Unicode伴随着通用字符集的标准而发展,这里我感觉我其实一直指的的是UCS,UCS不仅给每个字符分配代码,而且赋予一个正式名称,十六进制数前“U+”。UCS有的码空间是从U+0000到U+10FFFF,17个平面(0x0-0x10),每个平面2^16=65'536(0x0000~0xffff)个码位。第一个平面包含了最常用的字符,该平面成为基本多语言平面(Basic Multilingual Plane)简称BMP(我一直以为是位图,哈哈),其他平面称为辅助平面。2-byte Universal Character Set(UCS-2)是定长的编码方式,有这样的看法的我在两个地方看法,故我姑且认定这是正确的,UMS-2就是使用16位码元来表示码位,就是表示BMP。而UTF-16非定长,使用一个或者两个16位的码元表示码位,就是用来扩充UCS-2的,可以完全表示0x0~0x10FFFF。UTF-32是定长编码,是UCS-4的子集,UCS-4足以用来表示多有Unicode的字码空间,最大的码位空间为0x7FFFFF个码位,好吧,反正提出个更小码位空间的UTF-32,只有0x0~0x10FFFF的码位空间。还有一个BOM这个东东没有说,在windows下,文本文件最前面总是有两个字节写着FE FF后者FF FE(用十六进制看),我就知道这个有两个作用,若是有这个就直接告诉你这是一个Unicode编码,否则就是asci编码,写到这句话我发现我的定义完全混乱,但又感觉是应该那么表达出来。第二点,FE FF,关于little endian。还有太多没有搞清楚。

说说Unicode这个东东!相关推荐

  1. VSCode 安装 Go 插件、gopls 是个什么东东

    原文地址: VSCode 开发 Go 程序也可以和 GoLand 一样强大 VSCode 建议你启用 gopls,它到底是个什么东东?

  2. 为什么会有jsessionid,这个东东有什么用呢?

    2019独角兽企业重金招聘Python工程师标准>>> 为什么会有jsessionid,这个东东有什么用呢? 博客分类: java 为什么会有jsessionid,这个东东有什么用呢 ...

  3. 网管必看的好东东(一)

    自动释放系统资源 在Windows中每运行一个程序,系统资源就会减少.有的程序会消耗大量的系统资源,即使把程序关闭,在内存中还是有一些没用的DLL文件在运行,这样就使得系统的运行速度下降.不过我们可以 ...

  4. 一个超牛的东东:专门删除牛皮文件和文件夹

    一个超牛的东东:专门删除牛皮文件和文件夹 电脑中有一些不知为何删除不掉的文件和文件夹,无论用什么超级粉碎机都无法清除. 在网上看到的一个方法可以帮忙 注意:使用时请小心, 建立非常简单: 新建文本文档 ...

  5. 【任务脚本】更新京东任务东东农场脚本,京东种水果脚本,京东活动任务半自动程序...

    最近看到大牛更新了东东农场的脚本,东东农场就是京东种水果的日常任务,可以搜索"东东农场"进入(亲测猕猴桃挺好吃的),测试体验了一下脚本,有些不稳定,不过可以用,只是可能需要多运行两 ...

  6. 转发高人文章:以前写的一些有关代码签名/时间戳数字证书的东东

    此文摘自:http://bbs.wosign.com/forum.php?mod=viewthread&tid=86 以前苦于没有专门的平台和数字证书方面的专家.爱好者一起交流,写的一些有关代 ...

  7. JavaScript怎么安装_几句话说清楚JavaScript、V8引擎、NodeJS、NMP,到底是什么东东...

    小程序开发如火如荼,如果你是程序员,你还不懂小程序的开发,恐怕会被同行认为太LOW了吧!不过,新入行小程序开发者确实会被新的名词搞得一头雾水. 比如JavaScript不是在浏览器端运行吗,怎么还可以 ...

  8. php生成excel教程,php生成EXCEL的东东

    php生成EXCEL的东东 发布时间:2016-06-17 来源: 点击: 次 可以通过PHP来产生EXCEL档.  teaman翻译 ---------------------------- Exc ...

  9. 一个祸害我很久的东东——事件过滤器之按键触发

    一个祸害我很久的东东--事件过滤器之按键触发 下面这个东东其实很常见,也很实用,平时上网的时候对之经常见,以为很简单,当然弄懂后,其实发现,他确实蛮简单的,但就是这小东西害了我好久好久啊.... 就是 ...

最新文章

  1. intellij idea 必知的debug功能
  2. 基于GAN的单目图像3D物体重建(纹理和形状)
  3. Java基础05 实施接口
  4. JavaWeb学习总结(三十五)——使用JDBC处理Oracle大数据
  5. 计算机要学打字吗,有了电脑打字,还需要练字吗?
  6. 找出SAP OData service出错根源的小技巧
  7. 技术管理规划-设定团队的职能
  8. android java 调用js_android WebApp 集成方式怎么使用java调用js
  9. mysql常用加密方法_MYSQL 加密的 3 类方法
  10. 一个项目如何编译多个不同签名、包名、资源等,的apk?
  11. EBS相关日志和参数
  12. C++小游戏 双人贪吃蛇
  13. 华为手机热点无法连接_华为手机热点无法连接
  14. matlab画图函数双精度,Matlab中图像函数大全2_matlab函数大全
  15. 痛苦的刷路由器 破校园网 小米mini潘多拉
  16. 更改文件夹目录、硬盘、U盘的图标
  17. 颜色选择器---Kodu少儿编程第九天
  18. 计算机系统安全期末复习
  19. 百度之星资格赛 1003 度度熊与邪恶大魔王 DP 完全背包
  20. 计算机提取公式算等差平均,高中数学统计与概率主线分析.ppt

热门文章

  1. window11 安装node及配置环境变量
  2. linux c多线程编程之全局变量访问操作
  3. java jframe教程_Java Swing JFrame窗口的实现
  4. 微信小程序wx.createInnerAudioContext()在安卓手机不能播放语音文件问题解决
  5. 关于net2.0里面新出现的一个异步处理类backgroundworker
  6. 华为云持续快速增长,践行“深耕数字化,一切皆服务”
  7. win10系统office2019下载安装
  8. 微信支付退款解析 对加密串B做AES-256-ECB解密(PKCS7Padding)
  9. 荣耀平板v6 鸿蒙,首款同时支持5G和Wi-Fi 6平板 荣耀平板V6发布
  10. C# Excel.Range类实现对Excel单元格文本格式的设置