Tìm hiểu Convert.ToBase64String(Byte[])

Với phương thức chuyển đổi Convert.ToBase64String(Byte[]), nó giúp chuyển đổi một mảng số nguyên không dấu 8-bit sang dạng một chuỗi kết quả thu được sau khi chuyển đổi sang dạng mã hóa Base64.

Phương thức này giúp ta chuyển đổi nhanh chóng mà không cần phải tự tay code lại cách chuyển đổi.

Cấu trúc

public static string ToBase64String(byte[] inArray)

Tham số

inArray chính là mảng byte[] số nguyên 8-bit không dấu.

Kiểu trả về

Kết quả trả về của phương thức chuyển đổi này là một chuỗi ký tự. Do đó, nếu cần thiết lập xuất ra trong câu lệnh Console.WriteLine() thì không cần phải thêm vào .ToString() làm gì cho rắc rối.

Ngoại lệ

Nhớ phải kiểm tra trường hợp inArray là null khi xử lý. Bởi nếu không kiểm tra trường hợp này, thì sẽ trả về lỗi ArgumentNullException.

Ví dụ

Có thể kiểm tra đơn giản như:

byte[] bytes = null;
if(bytes==null || bytes.Length < 0){
   Console.WriteLine("Mang null");
}
else{
   //xử lý công việc cần làm
}

Tôi tham khảo trên mạng thì có người bảo điều kiện trong hàm if() nên dùng phép && trong khi tôi dùng phép || như ví dụ trên. Nói chung… vẫn không biết cái nào hay và chính xác hơn :v

Ta tham khảo ví dụ áp dụng phương thức Convert.ToBase64String(Byte[]) như sau:

using System;

public class Example
{
   public static void Main()
   {
       // Khai báo một mảng byte.
       byte[] bytes = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
       //Xuất ra mảng byte ban đầu. Dùng kiểu BitConverter.ToString()
       //để hiển thị dạng byte kiểu 02-04-...
       Console.WriteLine("The byte array: ");
       Console.WriteLine("   {0}\n", BitConverter.ToString(bytes));

       // Chuyển đổi bảng byte ban đầu thành mã hóa base-64.
       String s = Convert.ToBase64String(bytes);
       Console.WriteLine("The base 64 string:\n   {0}\n", s);

       // Khôi phục lại mảng byte ban đầu từ chuỗi base-64 đã mã hóa.
       byte[] newBytes = Convert.FromBase64String(s);
       Console.WriteLine("The restored byte array: ");
       Console.WriteLine("   {0}\n", BitConverter.ToString(newBytes));
       //Để dừng màn hình lại xem kết quả, thêm vào câu lệnh dưới
       Console.ReadLine();
   }
}

Việc chuyển đổi sang dạng base-64 còn được gọi là UUencoded. Trong ví dụ trên ta còn thấy sử dụng Convert.FromBase64String() để chuyển đổi ngược lại từ chuỗi base-64 về dạng mảng byte[].

VÕ TÌNH THƯƠNG

votinhthuong9@gmail.com

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s