字符,字符集编码笔记

 

不同的操作系统,各有直接输入Unicode字符的方法:

      在notepad里,(中文系统下)

       按住Alt 然后按52946最后放开Alt

       按住Alt 然后按45230最后放开Alt

       按住Alt 然后按50403最后放开Alt

      你会看到"我爱你"三个字。

Windows 字符集查看

windows+R-> charmap =====>

字符集

字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。

字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。

字符编码,字符集和字符的转换关系。

计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。

下面就是屌 这个字在各种编码下的十六进制和二进制编码结果 

字符集16进制编码对应的二进制数据
UTF-80xE5B18C1110 0101 1011 0001 1000 1100
UTF-160x5C4C1011 1000 1001 1000
GBK0x8CC51000 1100 1100 0101

注意:Unicode字符集有多种编码方式,如UTF-8、UTF-16等;ASCII只有一种;大多数MBCS(包括GB2312)也只有一种。

常用编码简介:

 字符与编码在程序中的实现

程序中的字符与字节

在 C++ 和 Java 中,用来代表“字符”和“字节”的数据类型,以及进行编码的方法:

类型或操作C++Java
字符wchar_tchar
字节charbyte
ANSI 字符串char[]byte[]
UNICODE 字符串wchar_t[]String
字节串→字符串mbstowcs(), MultiByteToWideChar()string = new String(bytes, "encoding")
字符串→字节串wcstombs(), WideCharToMultiByte()bytes = string.getBytes("encoding")

以上需要注意几点:

  1. Java 中的 char 代表一个“UNICODE 字符(宽字节字符)”,而 C++ 中的 char 代表一个字节。
  2. MultiByteToWideChar() 和 WideCharToMultiByte() 是 Windows API 函数。

 

详细参考链接:

字符,字节和编码

维基百科 Unicode

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值