关于字符的一些看法

字符真是个令人头疼的东西,弄不好就乱码了。呵呵,所以就花了大半天自己梳理了下。嘿嘿。

1 Ascii 码

学过电脑的都知道,电脑中的数据存储和运算都是靠比特流进行的,也就是0,1组成的二进制代码串。但是我们不可能输入0,1这些东西到电脑里把,根本记不住啦。所以,需要把输入的东西转为那些二进制代码。这时,美国人就制定了一个叫Ascii码的东西,Ascii码就是8位二进制代码(通常用7位),8位可以表示256个不同的字符了。英文用用早就够了。顺便说一句,英文字符都是单字节的,也就8个位把,汉字是双字节或多字节的。

 

2 Ascii码的问题

但是随着互联网的扩张,就出现了2个问题。1. 256个字符根本不够用啊,像中文这么多字,遇到Ascii就呵呵了。2. 还有就是不同的编码代表了不同符号。比如,130在法语编码中代表了é,在希伯来语编码中却代表了字母Gimel (ג),在俄语编码中又会代表另一个符号。

 

3 Unicode

因为存在许多编码方式,所以同一段2进制代码可以被解释成不同的语言。所以打开一个文件,必须知道文件的编码格式,才能正确打开文件,不至于乱码。就比如html,中有个meta标签,charset=utf-8 就是用来表明文件的编码声明是utf-8,当然保存的时候,文件也要保存成为utf-8格式,这样,浏览器拿到这个html的时候,就知道用utf-8去解析这个html了。但是假如申明了charset=utf-8但是保存的时候用了别的编码格式,如ASCII.就会乱码了。说白了就是一个文字-》二进制(编码),二进制-》文字(解码,浏览器来解码),编码格式与解码格式需一致。

 

4  Unicode的问题

unicode有啥问题嫩?应该是存储东西把。汉字一个2个字节,16位,unicode要用到2个字节,这没问题。但是假如把unicode都设置为2个字节的话就太浪费啦。因为英文字母都是一个字节的,用 2个字节存储的话,前面一个字节都要填0了,空间就增大了1倍。

 

5 UTF-8

这个时候UTF-8就站了出来,解决存储的问题(utf-8是unicode的编码格式)。utf-8是可变的字节长度。对英文字母,它就是一个字节,对汉字,它可以变为2-4个字节。棒棒哒。另外还有个叫BOM的东西,把字符转为16进制的时候可以看到,比如把我在utf-8编码的情况下转为16进制,就是 EF BB BF E6 88 91,假如用无BOM的情况保存的话,就是E6 88 91.

 

就这样把,希望大家多多指教~~~~

 

 

参考文献:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html?20151227141854#comment-last

       http://www.joelonsoftware.com/articles/Unicode.html

     http://cenalulu.github.io/linux/character-encoding/ 

 

转载于:https://www.cnblogs.com/wz0107/p/5080730.html

源码地址: https://pan.quark.cn/s/3916362e5d0a 在C#编程平台下,构建一个曲线编辑器是一项融合了图形用户界面(GUI)构建、数据管理及数学运算的应用开发任务。 接下来将系统性地介绍这个曲线编辑器开发过程中的核心知识点:1. **定制曲线面板展示数据曲线**: - 控件选用:在C#的Windows Forms或WPF框架中,有多种控件可用于曲线呈现,例如PictureBox或用户自定义的UserControl。 通过处理重绘事件,借助Graphics对象执行绘图动作,如运用DrawCurve方法。 - 数据图形化:通过线性或贝塞尔曲线连接数据点,以呈现数据演变态势。 这要求掌握直线与曲线的数学描述,例如两点间的直线公式、三次贝塞尔曲线等。 - 坐标系统与缩放比例:构建X轴和Y轴,设定坐标标记,并开发缩放功能,使用户可察看不同区间内的数据。 2. **在时间轴上配置多个关键帧数据**: - 时间轴构建:开发一个时间轴组件,显示时间单位刻度,并允许用户在特定时间点设置关键帧。 时间可表现为连续形式或离散形式,关键帧对应于时间轴上的标识。 - 关键帧维护:利用数据结构(例如List或Dictionary)保存关键帧,涵盖时间戳和关联值。 需考虑关键帧的添加、移除及调整位置功能。 3. **调整关键帧数据,通过插值方法获得曲线**: - 插值方法:依据关键帧信息,选用插值方法(如线性插值、样条插值,特别是Catmull-Rom样条)生成平滑曲线。 这涉及数学运算,确保曲线在关键帧之间无缝衔接。 - 即时反馈:在编辑关键帧时,即时刷新曲线显示,优化用户体验。 4. **曲线数据的输出**: - 文件类型:挑选适宜的文件格式存储数据,例如XML、JSON或...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值