วิธีแปลงสตริง Base64 เป็น Byte Array ใน PowerShell
วันนี้ ฉันกำลังตรวจสอบวิธีการแปลงสตริง Base64 เป็นอาร์เรย์ไบต์ใน PowerShell ฉันลองวิธีการต่างๆ ในบทช่วยสอนนี้ ฉันจะแสดงวิธีแปลงสตริง Base64 เป็นอาร์เรย์ไบต์ใน PowerShell พร้อมตัวอย่าง
หากต้องการแปลงสตริง Base64 เป็นอาร์เรย์ไบต์ใน PowerShell คุณสามารถใช้เมธอด FromBase64String ของคลาส System.Convert ตัวอย่างเช่น เมื่อกำหนดสตริง Base64 $base64String="SGVsbG8gV29ybGQh" คุณสามารถแปลงได้โดยการรัน $byteArray=[System.Convert]::FromBase64String($base64String) เมธอดนี้จะถอดรหัสสตริง Base64 เป็นอาร์เรย์ไบต์ที่เทียบเท่าใน PowerShell
การเข้ารหัส Base64 ใน PowerShell คืออะไร
Base64 เป็นรูปแบบการเข้ารหัสไบนารีเป็นข้อความที่แสดงข้อมูลไบนารีในรูปแบบสตริง ASCII โดยทั่วไปจะใช้ในการเข้ารหัสข้อมูลสำหรับการส่งสัญญาณผ่านสื่อที่ออกแบบมาเพื่อจัดการข้อความ การเข้ารหัสนี้ช่วยให้แน่ใจว่าข้อมูลยังคงเดิมโดยไม่มีการแก้ไขระหว่างการขนส่ง
แปลงสตริง Base64 เป็นอาร์เรย์ไบต์ใน PowerShell
ตอนนี้ให้ฉันแสดงวิธีการแปลงสตริง Base64 เป็นอาร์เรย์ไบต์ใน PowerShell โดยใช้วิธีต่างๆ
วิธีที่ 1: การใช้คลาส System.Convert()
วิธีที่ตรงไปตรงมาที่สุดในการแปลงสตริง Base64 เป็นอาร์เรย์ไบต์ใน PowerShell คือการใช้คลาส System.Convert ซึ่งมีวิธีการในตัวสำหรับการแปลงดังกล่าว
ตัวอย่าง
นี่เป็นตัวอย่างง่ายๆ เพื่อทำความเข้าใจสิ่งนี้ให้ดีขึ้น:
# Base64 encoded string
$base64String = "SGVsbG8gV29ybGQh"
# Convert Base64 string to byte array
$byteArray = [System.Convert]::FromBase64String($base64String)
# Output the byte array
$byteArrayในตัวอย่างนี้ สตริง Base64 "SGVsbG8gV29ybGQh" (ซึ่งหมายถึง “Hello World!”) จะถูกแปลงเป็นอาร์เรย์ไบต์โดยใช้เมธอด FromBase64String ของ System แปลงคลาส วิธีการนี้จะถอดรหัสสตริง Base64 เป็นอาร์เรย์จำนวนเต็ม 8 บิตที่ไม่ได้ลงนามที่เทียบเท่ากัน
ฉันรันสคริปต์ PowerShell ข้างต้น และคุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
อ่านวิธีการแปลงสตริงเป็นสองเท่าใน PowerShell
วิธีที่ 2: การใช้ฟังก์ชันแบบกำหนดเอง
คุณยังสามารถสร้างฟังก์ชันแบบกำหนดเองใน PowerShell เพื่อแปลง Base64 String เป็น Byte Array ใน PowerShell
นี่คือตัวอย่าง:
ตัวอย่าง
function Convert-Base64ToByteArray {
param (
[string]$Base64String
)
return [System.Convert]::FromBase64String($Base64String)
}
# Base64 encoded string
$base64String = "SGVsbG8gV29ybGQh"
# Convert Base64 string to byte array using the custom function
$byteArray = Convert-Base64ToByteArray -Base64String $base64String
# Output the byte array
$byteArrayฟังก์ชันแบบกำหนดเองนี้ Convert-Base64ToByteArray ใช้สตริง Base64 เป็นอินพุตและส่งกลับอาร์เรย์ไบต์ที่สอดคล้องกัน แนวทางนี้ทำให้สคริปต์เป็นแบบแยกส่วนและบำรุงรักษาได้ง่ายขึ้น
คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่างหลังจากที่ฉันรันสคริปต์ PowerShell ด้านบน
ตรวจสอบการแปลงสตริงเป็น Hashtable ใน PowerShell
วิธีที่ 3: การใช้ System.Text.Encoding
สำหรับผู้ที่ต้องการจัดการการเข้ารหัสข้อความต่างๆ คลาส System.Text.Encoding สามารถใช้ร่วมกับการแปลง Base64 ได้ วิธีนี้มีความก้าวหน้าและมีประโยชน์มากกว่าเมื่อต้องจัดการกับการเข้ารหัสอักขระต่างๆ
ตัวอย่าง
นี่คือตัวอย่าง
# Base64 encoded string
$base64String = "SGVsbG8gV29ybGQh"
# Convert Base64 string to byte array
$byteArray = [System.Convert]::FromBase64String($base64String)
# Convert byte array to string (UTF8 encoding)
$utf8String = [System.Text.Encoding]::UTF8.GetString($byteArray)
# Output the UTF8 string
$utf8Stringในตัวอย่างนี้ หลังจากแปลงสตริง Base64 เป็นอาร์เรย์ไบต์แล้ว ไบต์อาร์เรย์จะถูกแปลงเพิ่มเติมเป็นสตริง UTF8 โดยใช้คลาส System.Text.Encoding สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับข้อมูลข้อความที่จำเป็นต้องเข้ารหัสใหม่หรือประมวลผลเพิ่มเติม
บทสรุป
ในบทช่วยสอนนี้ ฉันได้อธิบายวิธีการแปลงสตริง Base64 เป็นอาร์เรย์ไบต์ใน PowerShell โดยใช้วิธีต่างๆ
- การใช้คลาส System.Convert()
- การใช้ฟังก์ชันแบบกำหนดเอง
- การใช้ System.Text.Encoding

