`

char类型与Unicode

    博客分类:
  • Java
阅读更多
			char tempchar = '我';
			System.out.println(Integer.toHexString((int)tempchar));
			tempchar = 'i';
			System.out.println(Integer.toHexString((int)tempchar));
			String temp = "我i";
			byte[] bb = temp.getBytes("unicode");
			for(byte b:bb){
				System.out.println(Integer.toHexString(b));
			}
			int i = (bb[3]&((1<<8)-1))+((bb[2]&((1<<8)-1))<<8);
			System.out.println(Integer.toHexString(i));
			System.out.println((char)i);


输出
6211
69
fffffffe
ffffffff
62
11
0
69
6211
我

从上面可以看出:
1 Java的char使用unicode编码;
2 Unicode编码解析非空字符串的话,前两位byte总是-2,-1
分享到:
评论

相关推荐

    (UNICODE 与非UNICODE导致的问题)CString,TCHAR和CHAR类型的互转.docx

    (UNICODE 与非UNICODE导致的问题),CString,TCHAR和CHAR类型的互转.docx 没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时候包含了UNICODE定义,就必须对TCHAR和char进行转换。

    C++类型转换(char* string cstring unicode ansi )转换

    自己根据实际编程中用到的字符类型转换的收集,C++类型转换(char* string cstring unicode ansi 等等)转换

    详解Java中的char型数据

    char型是存储字符的数据类型,它在机器中占16位,范围为0-65535。Java中的char型与C/C++中的char型不同。在C /C++中,char型采用的是ASCII字符集,宽度为8位,范围为0-255,而Java中char型采用的是Unicode字符集,...

    CString类型转换为char

    函数功能:将CString类型转换为char *类型,纯手打函数 参数: 1:CString类型变量 返回值 :char *类型指针 备 注:主要是因为MFC中默认使用的是Unicode字符集而不是多字节字符集,使用一般的C++函数转换会有问题

    char*转为LPCWSTR

    char*转为LPCWSTR,在UNICODE环境下通常使用的是双字节,LPCWSTR类型是其中之一。VS2008就是UNICODE环境,而VC++6.0则是ASCI环境

       char型变量中能不能存储一个中文汉字?为什么

     char型变量中能不能存储一个中文汉字?为什么 char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,...补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。

    CString,string,char*之间的转换

    以上函数UNICODE编码也没问题:unicode下照用,加个_T()宏就行了,像这样子_T("%s") 补充: CString 可能是 CStringW/CStringA,在与 string 转换时,如果是 CStringW,还涉及编码转换问题。下面以 CStringA 来...

    C++Builder String,UNICODE,UTF8,ANSI互转的类.rar_c

    C++Builder String,UNICODE,UTF8,ANSI互转的类,类的互相转换

    char-info:Unicode字符信息库

    这也反映在库的类型定义文件中。 您可以使用以下内容: 找出字符所用的语言,例如希腊语(α),拉丁语(a),希伯来语(א)等。 无论是标点符号,数字,字母,表情符号,空格标记还是其他 它驻留在哪个Unicode...

    varChar和Char之间的区别?

    4.一般用 char 类型的 存放 固定的数据; 5.两者的存储数据都非unicode的字符数据。 补充: 字符串:(1)Char:固定长度,长度为n个字节,取值范围1~8 000,存储大小是n个字节。 (2)Varchar:可变长度,n 的...

    Java程序设计基础:字符数据类型.pptx

    字符型变量的类型为 char,用来表示单个的字符。 方法1:用单引号括住的一个字符,表示一个普通字符常量,例如: char letter = 'A'; char numChar = '4'; char chineseChar = '欢'; 字符常量表示法 方法2:用整型...

    CString,string,char的综合比较

    StrTraitMFC&lt;TCHAR&gt;&gt; CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),TCHAR(ANSI与unicode均可); char*为C...

    Oracle 数据类型

    3、NCHAR和nvarchar2,NCHAR和CHAR区别在于NCHAR用来存储Unicode字符集类型,即双字节字符数据,CHAR是一个字节,而NCAHR是一个字符(两个字节),前者是CHAR(1)无法插入‘的’,后者是NCHAR(1)可以插入‘的’ ...

    sqlserver字段类型介绍

    而前缀n就表示Unicode字符,比如nchar,nvarchar,这两种类型使用了Unicode字符集。 nchar、nvarchar最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar...

    wince开发用转换类

    wince上各种类型转换特别是字符串是很头疼的,这个类是项目用的, 每个都测试好用,使用静态方法,直接引用后,写【::cv::就可以用】 typedef int u32; //转换类,所有的转换函数在这里静态 2是to的意思 //cs:...

    浅谈c++ 字符类型总结区别wchar_t,char,WCHAR

    UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里: typedef unsigned short wchar_t; 另外,在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t wchar_t 可用字符串处理函数:...

    C++11 Unicode编码转换

    1.char16_t与char32_t 在C++98中,为了支持Unicode字符,使用wchar_t类型来表示“宽字符”,但并没有严格规定位宽,而是让wchar_t的宽度由编译器实现,因此不同的编译器有着不同的实现方式,GNU C++规定wchar_t为32...

    SQL数据类型和范围(SQLServer,MySql,Access)

    char(n) 固定长度的字符串。最多 8,000 个字符。 n varchar(n) 可变长度的字符串。最多 8,000 个字符。 varchar(max) 可变长度的字符串。最多 1,073,741,824 个字符。 text 可变长度的字符串。最多 2GB ...

    2015年面试宝典

    6. char类型变量能不能存储一个中文汉字?为什么? 答:char类型能够存储一个中文汉字。因为:字符型是16位的无符号整数,是一个二进制数。这个数值是一个字符在unicode编码表中的编码值, unicode编码表是一个全球...

    基础COM知识

    char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。Windows为了消除各编译器的差别,重新定义了一些数据类型,你提到了另外几个类型都是这样。CHAR为单字节字符。还有个WCHAR为...

Global site tag (gtag.js) - Google Analytics