UTF8存储与显示

存储肯定是二进制存储,同一个字符(汉子)在不同的字符集下有对应的值,一个字符集相当于一个密码表,键名为字符,键值为二进制数(可表示为十进制,十六进制)

UTF8是一个unicode字符集的编码规则,也可以看做是根据unicode字符集根据一个规则计算出的另一个字符集。但是从字符集的原始含义区分来说,uft8只是一种编码unicode的规则。
例如:汉子“一”,utf8对应的值为14989440,十六进制为0xE4B880,二进制为
    1110 0100 1011 1000 1000 0000共三字节存储,八位一字节
         E    4    B    8    8    0

显示识别码为ASCII码,也就是说显示的原始编码为ASCII,如果显示使用utf8编码,也是把收到的ascii反转为对应的二进制,然后把二进制再按照uft8规则重组,最后根据重组后的值找到uft8字符集对应的键名(即汉子)
ASCII是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646
ASCII一般为127位,扩展后有256位。

如果要显示汉子“一”,展示工具需要设置为uft8识别,然后
     将1110 0100 1011 1000 1000 0000按每个字节连接起来,
     E    4    B    8    8    0
          228        184       128   每个字节对应的十进制数
           ∑                        每个十进制数对应的ascii的字符
输出ascii对应的字符到浏览器就可以在浏览器看到汉子“一”

UTF8存储与显示

时间: 2024-10-14 07:11:38

UTF8存储与显示的相关文章

Visual Studio 2019 UTF-8编码调试显示中文

本地版本 Microsoft Visual Studio Community 2019 [1]Visual Studio 2019 UTF-8编码调试显示中文 (1)设置string默认编码为utf-8,只需要在头文件中加入以下代码: #pragma execution_character_set("utf-8") // 默认使用UTF-8 (2)修改stl.natvis文件(大约753~756行) 文件位置:建议使用everything直接搜索文件名 参考本地位置:E:\Progra

UltraEdit打开UTF-8文件后显示中文乱码的问题

左图是UE,默认的编码格式GBK.右图可以看出可修改成UTF-8编码.按钮位置是UE底部状态栏,图3显示怎么开关状态栏. >>>>>>>>>>>> 图3:

在不升级 mysql 的情况下直接使用 mysql utf8 存储 超过三个字节的 emoji 表情

由于现在数据库的版本是5.5.2,但是看网上说要直接存储emoji表情,需要升级到5.5.3然后把字符集设置为utf8mb4,但是升级数据库感觉属于敏感操作. 考虑了多久之后直接考虑使用正则来替换,但是emoji表情的unicode码太多了,在网上找了一份代码,还是2年前更新的,想了想还是算了. PHP 版本 最简单的办法就是直接找到接受到的文本中的字符串中4个字节的内容,做rawurlencode编码,再入库.输出的时候再替换回来,然后再用rawurldecode转码回unicode到手机再解

stc89c52开发板遥控器解码 红外线发射 内置 eeprom 存储 串口显示编码

单片机,大概三年前,就买了一本 <爱上单片机> 最后就学会,用面包板了,编程书上基本没讲. 看原理图,看时序图,看数据手册, 都没讲. 而且书上自带的代码写的很烂. 1,缩近控制不好 2,命名混乱 3,做if 的时候 不变的常量放在左侧,这是很基本的约定 ... 最后,还是什么也没有学会. 直到去年,开始学 ARM 了. 学完了 ARM 前面发的(s3c2440)以后, 在回头看单片机,发现单片机真是,简单的不得了! 但是也发现,单片机,不如 ARM 功能强大.速度也慢.很多控制器,没有,要用

基于stm32f4的ucGUI通过外部flash存储汉字库显示任意英文字符和汉字组合(控件可用)

在做一个用到ucGUI的项目的时候要用到不定的汉字和英文字符,但是ucGUI本身又不支持读取芯片外部flash的字库来显示,于是查了下资料,如下: http://www.cnblogs.com/hiker-blogs/archive/2013/01/04/2843538.html 站在巨人的肩膀上,我找到了将汉字库写进flash后,通过ucGUI的控件显示出来的方法,但是至此,并不能在一个字符串里添加汉字和英文,用于同时显示,因为flash里面没有英文字符的模. 为了让一个控件同时显示汉字和英文

mysql 存储中文显示???,通过修改my.ini解决

1.查看数据库的当前编码 show variables like '%character%'; 很显然,编码需要改成utf8 2.确定启动服务时加载的配置文件  打开[服务] 找到[mysql]服务.选择[属性] 得到配置文件的路径:(以自己的为准) C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 3.修改my.ini文件 [mysql] default-character-set=utf8 [mysqld] default-character-set=

在cmd窗口中显示UTF-8字符

有这么一个文件,它在Eclipse属性中看到是UTF8编码的,里面包含了中文: 但是当在Windows控制台中查看这个文件(为了方便,我将文件拷贝到桌面了)的时候,就是乱码了: C:\Users\002778\Desktop>type abc.sql USE Abc; INSERT INTO `School` VALUES (1,'鍖椾含澶у','鍖椾含甯備腑鍏虫潙鍖楀ぇ琛?7鍙?,'01062752114','鐜嬫仼鍝?), (2,'娓呭崕澶у','鍖椾含甯傛捣娣€鍖轰腑鍏虫潙澶ц','

关于解决乱码问题的一点探索之一(涉及utf-8和GBK)

在使用Visual Studio 2005进行MFC开发的时候,发现自动添加的注释变成了乱码.像这样: // TODO: ?ú′?ìí?óרó?′ú??oí/?òμ÷ó??ùàà 还有这样: // TODO: ?ú′?ìí?ó???¢′|àí3ìDò′ú??oí/?òμ÷ó???è??μ 它们正确的显示应该是 // TODO: 在此添加专用代码和/或调用基类    和 // TODO: 在此添加消息处理程序代码和/或调用默认值 当保存的时候,还出现了这样的对话框: 网上找了各种教程,包括什么设

Oracle数据库多语言文字存储解决方案

一.关于字符集 字符集(也称字元集,Character Set)就是字符编码表(codepage),一个字符不论英文.中文.韩文等在计算机系统内存或硬盘中通过二进制的字节(Byte)保存,这个二进制的编码就是字符编码(也称内码),字符集就是字符与内码的对应(映射)表. 因为多国语言的原因,就出现了根据本国语言制作的字符集.如使用最广泛的ASCII编码,由美国国家标准局(即ANSI)制定,适用于所有拉丁.英文字符.中国大陆使用GB2312,GBK,GB18030等字符集,这些字符集包含所有汉字字符