CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 68

68
Chương 2: Thao tác dữ liệu

Base64 là một kiểu mã hóa cho phép bạn mô tả dữ liệu nhị phân như một dãy các ký tự ASCII
để nó có thể được chèn vào một file văn bản hoặc một e-mail, mà ở đó dữ liệu nhị phân không
được cho phép. Base64 làm việc trên nguyên tắc sử dụng 4 byte để chứa 3 byte dữ liệu nguồn
và đảm bảo mỗi byte chỉ sử dụng 7 bit thấp để chứa dữ liệu. Điều này có nghĩa là mỗi byte dữ
liệu được mã hóa theo Base64 có dạng giống như một ký tự ASCII, nên có thể được lưu trữ
hoặc truyền đi bất cứ nơi đâu cho phép ký tự ASCII.
Lớp

Convert

cung cấp hai phương thức

ToBase64String

FromBase64String

để mã hóa và

giải mã Base64. Tuy nhiên, trước khi mã hóa Base64, bạn phải chuyển dữ liệu thành mảng
kiểu byte; và sau khi giải mã, bạn phải chuyển mảng kiểu byte trở về kiểu dữ liệu thích hợp
(xem lại mục 2.2 và 2.3).
Ví dụ sau minh họa cách sử dụng lớp

Convert

để mã hóa và giải mã Base64 với chuỗi

Unicode, giá trị

int

, giá trị

decimal

. Đối với giá trị

decimal

, bạn phải sử dụng lại các phương

thức

ByteArrayToDecimal

DecimalToByteArray

trong mục 2.3.

// Mã hóa Base64 với chuỗi Unicode.

public static string StringToBase64 (string src) {

// Chuyển chuỗi thành mảng kiểu byte.

byte[] b = Encoding.Unicode.GetBytes(src);

// Trả về chuỗi được mã hóa theo Base64.

return Convert.ToBase64String(b);

}

// Giải mã một chuỗi Unicode được mã hóa theo Base64.

public static string Base64ToString (string src) {

// Giải mã vào mảng kiểu byte.

byte[] b = Convert.FromBase64String(src);

// Trả về chuỗi Unicode.

return Encoding.Unicode.GetString(b);

}

// Mã hóa Base64 với giá trị decimal.

public static string DecimalToBase64 (decimal src) {

// Chuyển giá trị decimal thành mảng kiểu byte.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.