String类型和Byte以及Byte数组之间的转换

老鸟跳过. 只是简单介绍了一下如何利用UnicodeEncoding实现String类型和Byte以及Byte数组之间的转换. 实例代码取自MSDN.

 

首先理解一个概念:

      编码是一个将一组 Unicode 字符转换为一个字节序列的过程。解码是将一个编码字节序列转换为一组 Unicode 字符的过程。

 

废话不说, 放出代码.

代码
 
   
using System;
using System.Text;

class UnicodeEncodingExample {
public static void Main() {
// 实例化一个UnicodeEncoding对象,用于转换.
UnicodeEncoding unicode = new UnicodeEncoding();

// 创建一个包含Unicode码的字符串.
String unicodeString =
" This Unicode string contains two characters " +
" with codes outside the traditional ASCII code range, " +
" Pi (\u03a0) and Sigma (\u03a3). " ;
Console.WriteLine(
" Original string: " );
Console.WriteLine(unicodeString);

// 把String类型转换成Byte[]数组
Byte[] encodedBytes = unicode.GetBytes(unicodeString);
Console.WriteLine();
Console.WriteLine(
" Encoded bytes: " );
foreach (Byte b in encodedBytes) {
Console.Write(
" [{0}] " , b);
}
Console.WriteLine();

// 把Byte[]数组转换成String
String decodedString = unicode.GetString(encodedBytes);
Console.WriteLine();
Console.WriteLine(
" Decoded bytes: " );
Console.WriteLine(decodedString);
}
}


我们用到了UnicodeEncoding这个类.这个类还提供了比如Char[]类型和Byte[]之间的转换.很方便.

 

如果是把String类型转换成Byte类型,而不是Byte数组.可以使用Byte.Parse()方法.需要注意的是: String必须符合Format条件.一般只可以包含空白,以及一个0~255之间的数字.

Sample:

代码
 
   
// 可以转换
string str1 = " 255 " ;
Console.WriteLine(Byte.Parse(str1));

// 报错,FormatException
string str2 = " a string " ;
Byte.Parse(str2);

// 报错,OverflowException
string str3 = " 256 " ;
Console.WriteLine(Byte.Parse(str3));

 

 

 

详细: http://msdn.microsoft.com/zh-cn/library/k0s9b1y3(VS.95).aspx

        http://msdn.microsoft.com/zh-cn/library/system.text.unicodeencoding.aspx

 

 

转载于:https://www.cnblogs.com/anyanran/archive/2010/08/09/1795849.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值