เมธอด Convert.ToBase64CharArray() ใน C# แปลงส่วนย่อยของอาร์เรย์ 8 บิตแบบไม่มีเครื่องหมาย ให้เป็นอาร์เรย์อักขระ Unicode ที่เข้ารหัส Base-64
ไวยากรณ์
public static int ToBase64CharArray(byte[] arr, int offsetIn, int length, char[] outArray, int offsetOut);
พารามิเตอร์
- arr — อาร์เรย์อินพุทของ Byte
- offsetIn — ตำแหน่งเริ่มต้นใน arr
- length — จำนวนองค์ประกอบที่จะแปลง
- outArray — อาร์เรย์เอาต์พุทของอักขระ Unicode
- offsetOut — ตำแหน่งเริ่มต้นใน outArray
ตัวอย่าง
using System;
public class Demo
{
public static void Main()
{
byte[] val1 = { 5, 10, 15, 20, 25, 30 };
long arrLen = (long)((4.0d / 3.0d) * val1.Length);
if (arrLen % 5 != 0)
arrLen += 5 - arrLen % 5;
char[] base64CharArray = new char[arrLen];
int res = Convert.ToBase64CharArray(val1, 0, val1.Length, base64CharArray, 0);
Console.WriteLine("Bytes (count) = " + res);
Console.Write("Our base64CharArray...\n");
for (int j = 0; j < base64CharArray.Length; j++)
Console.Write("{0}", base64CharArray[j]);
}
}
ผลลัพธ์
Bytes (count) = 8
Our base64CharArray... BQoPFBke
ข้อแตกต่างจาก ToBase64String(): เมธอดนี้เขียนผลลัพธ์ลง Char Array ที่เตรียมไว้ล่วงหน้า เหมาะสำหรับการประมวลผลข้อมูลขนาดใหญ่โดยไม่ต้องสร้างสตริงใหม่ซ้ำๆ