程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 如何在Byte[]和String之間進行轉換,bytestring

如何在Byte[]和String之間進行轉換,bytestring

編輯:C#入門知識

如何在Byte[]和String之間進行轉換,bytestring


源自C#與.NET程序員面試寶典。


如何在Byte[]和String之間進行轉換?
比特(b):比特只有0 1,1代表有脈沖,0代表無脈沖。它是計算機物理內存保存的最基本單元。
字節(B):8個比特,0—255的整數表示
編碼:字符必須編碼後才能被計算機處理。早期計算機使用7為AscII編碼,為了處理漢字設計了中文簡體GB2312和big5

字符串與字節數組之間的轉換,事實上是現實世界的信息和數字世界信息之間的轉換,勢必涉及到某種編碼方式,不同的編碼方式將導致不同的轉換結果。C#中常使用System.Text.Encoding來管理常用的編碼。下面直接上代碼:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ByteToString
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             string str = "鞠哥真帥!";
14 
15             //使用UTF編碼。。。
16             Byte[] utf8 = StrToByte(str, Encoding.UTF8);
17             //估計C#當時設計時沒有中文簡體,這是後來中國搞的?
18             Byte[] gb2312 = StrToByte(str,Encoding.GetEncoding("GB2312"));
19 
20             Console.WriteLine("這是UTF8(鞠哥真帥),長度是:{0}",utf8.Length);
21             foreach (var item in utf8)
22             {
23                 Console.Write(item);
24             }
25 
26             Console.WriteLine("\n\n這是gb2312(鞠哥真帥),長度是:{0}",gb2312.Length);
27             foreach (var item in gb2312)
28             {
29                 Console.Write(item);
30             }
31 
32 
33             //用utf8編碼的字節數組轉換為str
34             string utf8Str = ByteToStr(utf8,Encoding.UTF8);
35             string gb2312Str = ByteToStr(gb2312,Encoding.GetEncoding("GB2312"));
36 
37             Console.WriteLine("\n\nutf8: {0}",utf8Str);
38             Console.WriteLine("gb2312: {0}",gb2312Str);
39             Console.ReadKey();
40 
41         }
42 
43 
44         //C#通常使用System.Text.Encoding編碼
45 
46         //字符串轉數組
47         static Byte[] StrToByte(string str, Encoding encoding)
48         {
49            return encoding.GetBytes(str);
50         }
51 
52         //數組轉換字符串
53         static String ByteToStr(Byte[] bt,Encoding encoding)
54         {
55             return encoding.GetString(bt);
56         }
57 
58     }
59 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved