字符串与byte[]之间的转换
来源:互联网 发布:ims 的数据是什么 编辑:程序博客网 时间:2024/05/14 23:37
编码
同一个字符在不同的编码下会被编成不同长度的编码,
比如:ACSII,每个字符对应一个字节,实际上只使用了7位,从00h-7Fh。只能表达128个字符。
GB2312,中文的一种编码,每个字符使用两个字节表示。
UTF-8, 可以表达所有unicode字符,每个字符可以用1-3个字节表示。
UTF-16, 可以表达所有unicode字符,每个字符可以用1-2个16位整数表示。
UTF-32, 可以表达所有unicode字符,每个字符可以用1个32位整数表示。
(一)用ASCII码转换
(2) System.Text.Encoding.Default
(3)需要把string转换为byte[]使用的场景
任何需要把string序列化处理都需要这种转换,比如:
需要把string保存到文件中,必须把string转换成一个有序的字节流,以便系统在硬盘上做物理保存。
对string做加密操作时,加密算法是针对字节进行处理,这时也需要把string转换成字节流以便加密算法对数据进行处理。
String到字节流的转换涉及到使用何种编码,使用不同的编码得到的字节码不同,再从字节码做反操作恢复成string,必须使用编码时使用的编码或者兼容的编码,否则结果就是乱码。
///////////////////////////////////////////////////////////////////////////////////
string转换为byte []的操作
1、 确定使用的编码
使用Encoding类的静态方法GetEncoding方法获得某个类型的Encoding对象。
public static Encoding.GetEncoding(int codepage)
codepage指定这种返回代码页的Encoding
public static Encoding GetEncoding (string name)
name 指定这种返回代码名的Encoding
其中使用到的代码页和代码名在上面表中。
比如要获得一个utf-8的Encoding对象
Encoding myEncoding = Encoding.GetEncoding("utf-8");
2、 从string到byte[]
string sData = “字符串”;
byte[] myByte = myEncoding.GetBytes(sData);
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
使用GetBytes方法时,不产生前面所说的识别不同UTF格式的前导符。
3、 从byte[]到string
byte[] myByte = new byte[]{};
string sData = myEncoding.GetString(byte[] myByte);
http://topic.csdn.net/u/20090722/10/58a9b4b7-a63a-430e-8f25-509231a4ae24.html?seed=795684050&r=58608395#r_58608395
- 字符串与byte[]之间的转换
- 字符串与byte[]之间的转换
- 字符串与byte[]之间的转换
- 字符串与byte[]之间的转换
- 字符串与byte[]之间的转换
- 字符串与byte[]之间的转换
- java中字符串与16进制,byte之间的转换
- java中字符串与16进制,byte之间的转换
- c# byte字节数组与string字符串之间的转换
- Java 字符串与byte之间的相互转换
- Java中字符串与byte数组之间的相互转换
- Java 字符串与byte之间的相互转换
- byte[]与Image Image与 byte[] 之间的转换
- string与byte[]之间的转换
- String 与Byte[]数组之间的转换
- BitMapImage与byte[]之间的转换
- 图片与byte之间的转换
- 图片与byte[]之间的相互转换
- 给定一个集合(字符数组),打印出它的所有子集
- 关于Oracle的安装
- java多线程如何使用
- (转)搭建Windows XP下的iPhone 2.x开发环境
- Debian/kFreebsd sources.list 源
- 字符串与byte[]之间的转换
- N95 (含8G版)手机上的UCWEB 6.7正式版下载
- struts2中OGNL和 ValueStack(一)
- 【转帖】关于GlobalAlloc,GlobalLock,GlobalUnLock的理解
- (zz)2009年7月最新的精辟句子
- Hibernate 缓存处理
- 冒泡排序的改进算法
- ORACLE中基于其他表更新当前表的update语法
- Windows下架设Subversion服务器