字符串是由一个一个的字符组成
每个字符按照编码表有一个对应的数字(编码表的作用)
编码查询:http://www.mytju.com/classcode/tools/encode_utf8.asp
每个字符直接赋值给整数则可以得到对应字符编码表中的数值
编码表:字符和数字之间的对应关系表
java中字符类型和整数类型可以互相转化
字符型常量以Unicode(ascii)编码形式存储,占用2个字节,
当字符赋值给整数,则在编码表中查到相应的数值赋值(对应关系)
当整数赋值给字符,则在编码表中查到相应的字符赋值
utf-8编码变长编码,1-4个字节表示一个字符,对单字节范围内字符仍然用一个字节表示,对汉字采用三个字节表示。
对于任何一个字符串-每个字符在字符编码表中对应一个十六进制数值
“君”的unicode编码十六进制表示形式541b转换为二进制为 101010000011011一共8位,
按照utf-8的规则变成3个字节表示一个中文,则二进制表示为11000101 10010000 10011011,比unicode多出来的都是按照utf-8规则多出来的规则位置,
转换为十六进制的变为:c5909b ,则放到字节数组中就变成3个字节的c5909b。
二进制对比:
utf-8: 11000101 10010000 10011011 -- c5909b
unicode: 101 010000 011011 -- 541b
参考:
http://www.mytju.com/classcode/tools/encode_utf8.asp
https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/index.html
十进制、原码、反码、补码工具:http://www.atoolbox.net/Tool.php?Id=952
补码个人理解: 1、计算机只认识0、1即二进制 2、计算机没有减法(需要把减法转换成加法),即补码作用就是减法转加法(本质负数的源码和补码相加=对应位数最大值,需要去掉符号为计算) 3、如:对于八位二进制,第一位为符号为,那最大值为(1111111,七个1,第一位是符号位) 11101101(去掉第一位符号位:109 ),对应补码10010010(去掉第一位符号位数值为:18) ,两者和是127(11111111、八个1) 即:11101101 + 10010010 = 去掉符号位结果为1111111 七个1 个人理解负数补码为-对于8位二进制负数: 10010010 18 11101101 109 两者相加为 8个1
字符和编码转换实例:
String str = "ab君" ; for(int i=0;i<str.length();i++ ){ //字符 char c = str.charAt(i); System.out.println( c ); //字符 对应编码 的数值 int k = c; System.out.println( k ); } String ca = "君"; char[] c = ca.toCharArray(); char ca = 97; System.out.println( ca );
相关推荐
介绍php字符串与byte字节数组转化类,转换一个String字符串为byte数组,将字节数组转化为String类型的数据,转换一个int为byte数组,从字节数组中指定的位置读取一个Integer类型的数据,转换一个shor字符串为byte...
16进制与字符串、字节数组之间的转换 16进制与字符串、字节数组之间的转换
vb6.0 编程实现字节数组和字符串的相互转换,演示如何进行字节数组和字符串的相互转换.
字符串转化为16进制的数组,字节数组如何转化为字符串
|PowerBuilder 数组字符串相互转化 天津 李华锋 * * | | * *PowerBuilder 数组字符串相互转化 完全免费 * * | | * *如果你将这个程序放在你的网站上,我希望你能同时加上本站的链接 | | * | * | * *老字符串转数组...
web应用中,客户端和服务器端需要交换信息,字符串形式的信息交互是...如果字符串中有中文,客户端在信息发送前需要把它转换为字节数组,转换的时候需要采用指定的编码。 本文提供的方法不需要指定编码,是通用的方法。
C#字节数组转16进制字符串 C#字节数组转16进制字符串 QQ:292258449
C#16进制与字符串字节数组之间的转换,提供四个转换方法(到16进制 汉字 字节)
labview,ASCII码字符串与字节数组的互转,十六进制,例如:字符串BA34转字节数组结果为BA,34
图片文件与Base64编码字节数组字符串互转
在web项目的前后台图片交互中,用的是基64...前台可以向后台传递基64字符串或者基64字节数组。后台也可以向前台传递基64字符串或者基64字节数组。下面的函数将基64字节数组转换成基64字符串,可以添加到img中显示图片。
实例如下: # bytes object b = bexample # str object s = example ...以上这篇python字符串str和字节数组相互转化方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多
但是为了使后台接收上传文件的方法既使用网页上传,又适应桌面应用程序上传,方法的参数设置成两个,一个为字符串类型,接收文件名,另一个为字节数组类型,用于接收文件内容。对于桌面应用,把文件内容读取到字节...
程序实现单片机通过串口向调试助手发送字节、全字、字符串、数组等; 通过调试助手向单片机发送指令(字符)控制LED
对字符串,字节数组进行GZIP压缩和解压缩
labview 读取的一维数组(整数)转换成16进制的字符串,方便大家进行数据处理。有问题可以留言咨询,互相学习
Labview基于局域网的UDP通讯子程序,包括如下: 1、发送字符串 2、接收字符串 3、发送数组 4、接收数组
前台使用二进制字节数组将图片数据传递给对象的 byte[] 属性,后台向前台传送图片数据时,用的是基64字符串。如果前台向后台传送的不是基64字节数组,那么前台接收后台的图片数据时,就不能还原成图片了,需要做...
android byte字节数组转换十六进制字符串一个demo。里面有几种转换测试代码。我的博客地址:http://blog.csdn.net/qq_16064871。