首页 > 读书学房产知识

unicode转换(中文unicode编码转换器)

utf8转换成unicode的方法

这里以txt文件中的汉字为例,介绍文本编辑器如何显示汉字的过程:

1.二进制(文件,你可以把一个文件理解为一串1+0构成的内容.也可以叫落地码编码的内容)——

2.通过落地码识别出每个字符(落地码,就是utf-8/utf-16/gbk这一类编码,它们能够将连续的1/0组成的数字串切割(解码过程)成能n个小块(块的长度不一定相同!),每块表示一个字符(一个汉字).而如何切割,就是这一类编码的意义所在,具体参考每个编码定义)——

3.每个小块转成对应的unicode值(unicode也是一种码,他是用来区分字符和字符之间的唯一性.即每一个不同的字符的unicode都是不同的.它一般有固定的长度.从落地码转成unicode码,有固定的对应关系,具体参考落地码的编码规范)——

4.每个unicode值映射到字体库中对应的文字图案()——

5.读取并显示含有文字的图片

注:

从2开始,每取下一个块,就可以立即执行345,或者取特定个之后再一起执行345.

英文也可以参照这个过程,只是比中文更加简单,比如2的时候,每一个英文字符的块长都是一样的.

一个文件只能有一种落地码,并且编辑器需要知道这个落地码是哪一个码.如果不匹配,就会看到所谓的乱码.也不是说一定只能一种码…除非你知道你在搞什么..

落地码无处不在.比如windows系统的默认编码,这个会影响你的粘帖板.有时候粘帖板中也会包含字体信息.

特别要注意的是, unicode其实也算是一种落地码,只是现在一般用的不多.当作为落地码时,格式有ucs-2/ucs-4这两种.比如windows记事本保存的时候有unicode选项,它默认是ucs-2.

如果有错误的地方忘指出,谢谢!

附上两个工具:

unicode查询-网页链接

utf8转二进制等-网页链接

Word将汉字转换成为Unicode码

①汉字转换成为Unicode字符编码

首先选择汉字,然后切换到英文输入法状态,按下下列组合键即可。

Alt+X

青山的“青”字,选中该“青”字以后,按下Alt+X,即可得到9752,这就是该字所对应的Unicode字符编码

②将Unicode字符编码转换为汉字

同样,按下下列组合键即可。

Alt+X

比如,选中Unicode字符编码9752,按下Alt+X,即可得到汉字“青”字。

如何将汉字转换为10位unicode编码

unicode编码不需要转换成汉字,因为unicode就是和字符关联的终极编码。

windows中只有unicode码可以和字符直接关联,也就是使用国际标准的unicode字符集。

中文windowsXp默认的内码是gbk(装过gb18030补丁的话也就变成gb18030),日文系统就是JIS,不同语言版本的windows都有不同的默认内码,这是每个*的标准化管理局规定的。

然后就是页码表的概念,所谓页码表就是把一个用系统默认编码(比如gbk,gb2312)表示的字符映射到对应unicode编码,而每个unicode编码对应着唯一确定的字符。这样就完成了地域性编码到国际标准码再到字符的对应关系。

在控制面板->区域和语言选择->高级,里面可以看到window提供的所有页码表。

c语言怎么把UTF-8转换成Unicode

下面程序给出的是UTF-8转成Unicode(UCS-2)的函数:

#include<stdio.h>

#include<stdlib.h>

#include<memory.h>

#include<string.h>

int utf8_to_unicode(char* pInput, char** ppOutput)

{

int outputSize= 0;//记录转换后的Unicode字符串的字节数

*ppOutput=(char*)malloc(strlen(pInput)* 2);//为输出字符串分配足够大的内存空

memset(*ppOutput, 0, strlen(pInput)* 2);

char*tmp=*ppOutput;//临时变量,用于遍历输出字符串

while(*pInput)

{

if(*pInput> 0x00&&*pInput<= 0x7F)//处理单字节UTF8字符(英文字母、数字)

{

*tmp=*pInput;

tmp++;

*tmp= 0;//小端法表示,在高地址填补0

}

else if(((*pInput)& 0xE0)== 0xC0)//处理双字节UTF8字符

{

char high=*pInput;

pInput++;

char low=*pInput;

if((low& 0xC0)!= 0x80)//检查是否为合法的UTF8字符表示

{

return-1;//如果不是则报错

}

*tmp=(high<< 6)+(low& 0x3F);

tmp++;

*tmp=(high>> 2)& 0x07;

}

else if(((*pInput)& 0xF0)== 0xE0)//处理三字节UTF8字符

{

char high=*pInput;

pInput++;

char middle=*pInput;

pInput++;

char low=*pInput;

if(((middle& 0xC0)!= 0x80)||((low& 0xC0)!= 0x80))

{

return-1;

}

*tmp=(middle<< 6)+(low& 0x7F);

tmp++;

*tmp=(high<< 4)+((middle>> 2)& 0x0F);

}

else//对于其他字节数的UTF8字符不进行处理

{

return-1;

}

pInput++;

tmp++;

outputSize+= 2;

}

*tmp= 0;

tmp++;

*tmp= 0;

return outputSize;

}

扩展资料

UTF-8:互联网的普及,强烈要求出现一种统一的编码方式。 UTF-8就是在互联网上使用最广的一种unicode的实现方式。其他实现方式还包括UTF-16和UTF-32,不过在互联网上基本不用。重复一遍,这里的关系是,UTF-8是Unicode的实现方式之一。

UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~6个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则:

UTF-8的编码规则很简单,只有两条:

1、对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2、对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

怎样查一个字符的unicode编码

你好,访问

输入想要的查看的字符,然后点击搜索图标,最后点击搜索到的某个结果。这里我们搜索的是2

然后就可以看到该字符的详细介绍了(这里只截取了一部分信息,下面还有很多,详细可查看:)

ANSI编码是一种对ASCII码的拓展:ANSI编码用0x00~0x7f(即十进制下的0到127)范围的1个字节来表示 1个英文字符,超出一个字节的 0x80~0xFFFF范围来表示其他语言的其他字符。也就是说,ANSI码仅在前128(0-127)个与ASCII码相同,之后的字符全是某个*语言的所有字符。值得注意的是,两个字节最多可以存储的字符数目是2的16次方,即65536个字符,这对于一个语言的字符来说,绝对够了。还有ANSI编码其实包括很多编码:*制定了GB2312编码,用来把中文编进去另外,把编到Shift_JIS里,韩把韩文编到Euc-kr里,各国有各国的标准。受制于当时的条件,不同语言之间的ANSI码之间不能互相转换,这就会导致在多语言混合的文本中会有乱码仅供参考

本文链接:http://www.kkyx8.com/html/87959931.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。