java String轉化成byte或byte[]

網上找的全是String轉化成byte[]的,好不容易找到能轉化成byte的。html

String類型和Byte以及Byte數組之間的轉換數組

老鳥跳過. 只是簡單介紹了一下如何利用UnicodeEncoding實現String類型和Byte以及Byte數組之間的轉換. 實例代碼取自MSDN.ide

 

首先理解一個概念:編碼

      編碼是一個將一組 Unicode 字符轉換爲一個字節序列的過程。解碼是將一個編碼字節序列轉換爲一組 Unicode 字符的過程。spa

 

廢話不說, 放出代碼.code

複製代碼

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);
   }
}


orm

複製代碼

咱們用到了UnicodeEncoding這個類.這個類還提供了好比Char[]類型和Byte[]之間的轉換.很方便.htm

 

若是是把String類型轉換成Byte類型,而不是Byte數組.可使用Byte.Parse()方法.須要注意的是: String必須符合Format條件.通常只能夠包含空白,以及一個0~255之間的數字.對象

Sample:blog

複製代碼

//能夠轉換
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

相關文章
相關標籤/搜索