PowerShell แปลงไบต์อาร์เรย์เป็นสตริง Hex
ใช้วิธี ToString() ของคลาส [System.BitConverer] ใน PowerShell เพื่อแปลงอาร์เรย์ไบต์เป็นสตริงฐานสิบหก วิธีนี้ใช้ อาร์เรย์ไบต์เป็นพารามิเตอร์อินพุตและรับค่าเลขฐานสิบหกของอาร์เรย์ไบต์
สตริงเลขฐานสิบหกคือการแสดงข้อมูลไบนารีในรูปแบบเลขฐานสิบหก เป็นระบบเลขฐาน 16 ที่ใช้ตัวเลข 0-9 หลัก และตัวอักษร A-F เพื่อแสดงค่าตั้งแต่ 0 ถึง 15
คลาส [System.BitConverter] จัดเตรียมวิธีการแปลงค่าประเภทตัวเลขเป็นและจากอาร์เรย์ไบต์ ตลอดจนการแปลงอาร์เรย์ไบต์เป็นชนิดข้อมูลอื่น
ในบทความนี้ เราจะกล่าวถึงวิธีการใช้วิธี ToString() ใน PowerShell เพื่อแปลงอาร์เรย์ไบต์เป็นสตริงฐานสิบหก
แปลง Byte Array เป็น Hex String ใน PowerShell โดยใช้วิธี ToString()
ใช้วิธี ToString() ของคลาส [System.BitConverter] ใน PowerShell เพื่อแปลงอาร์เรย์ไบต์เป็นสตริงฐานสิบหก
มาทำความเข้าใจด้วยความช่วยเหลือของตัวอย่างเพื่อสร้างอาร์เรย์ไบต์และใช้เพื่อแปลงอาร์เรย์ไบต์เป็นสตริงฐานสิบหก
# Declare string variable
$str = "ShellGeek"
# converting string to bytes array
$bytesArr = [System.Text.Encoding]::UTF8.GetBytes($str)
# Print the bytes array
$bytesArr
# Convert byte array to hex string
$hex = [System.BitConverter]::ToString($bytesArr)
# Print the hex string
$hexในสคริปต์ PowerShell ข้างต้น ตัวแปร $str เป็นประเภทสตริงที่มีค่า “ShellGeek ” เมื่อใช้เมธอด GetBytes() จะแปลงสตริงเป็นอาร์เรย์ไบต์และกำหนดผลลัพธ์ให้กับตัวแปร $bytesArr ที่มีอาร์เรย์ไบต์
ในการแปลงอาร์เรย์ไบต์เป็นสตริงฐานสิบหก จะใช้เมธอด ToString() ของคลาส System.BitConverter ที่ใช้อาร์เรย์ไบต์เป็นพารามิเตอร์อินพุตและส่งกลับค่าฐานสิบหก เชือก
ผลลัพธ์ของสคริปต์ข้างต้นใน PowerShell จะแปลงอาร์เรย์ไบต์เป็นสตริงเลขฐานสิบหก
เคล็ดลับเด็ด: วิธีแปลงสตริงเป็นจำนวนเต็มใน PowerShell!
แปลง Byte Array เป็น Hex String ใน PowerShell
ใช้คลาส [System.BitConverter] ที่ให้เมธอด ToString() เพื่อแปลงอาร์เรย์ไบต์เป็นสตริงฐานสิบหก
ในสคริปต์ต่อไปนี้ ตัวแปร $bytesArr มีการแทนค่าไบนารี่ของสตริง “ShellGeek ”
# Create a byte array
$bytesArr = [byte[]]@(83,104,101,108,108,71,101,101,107)
# Convert byte array to hex string
$hex = [System.BitConverter]::ToString($bytes)
# Print the string
$hexในสคริปต์ PowerShell ข้างต้น คลาส System.BitConverter มีเมธอด GetString() ใน PowerShell เพื่อแปลงอาร์เรย์ไบต์เป็นสตริงฐานสิบหก วิธีการนี้รับพารามิเตอร์อินพุตเป็นอาร์เรย์ไบต์และส่งกลับสตริง
ผลลัพธ์ของสคริปต์จะแปลงอาร์เรย์ไบต์เป็นสตริงเลขฐานสิบหก
# Create a byte array
PS C:\> $bytesArr = [byte[]]@(83,104,101,108,108,71,101,101,107)
# Convert byte array to hex string
PS C:\> $hex = [System.BitConverter]::ToString($bytes)
# Print the hex string
PS C:\> $hex
PS C:\> ShellGeek
สตริงเลขฐานสิบหกสามารถแปลงเป็นอาร์เรย์ไบต์ได้โดยใช้เมธอด FromHexString() ของคลาส [System.Convert] ใน PowerShell เวอร์ชัน 7.1 เป็นต้นไป
# byte array
$bytesArr = [byte[]]@(83,104,101,108,108,71,101,101,107)
# Convert byte array to hex string
$hex = [System.BitConverter]::ToString($bytes)
# remove - between hex string
$hexString = $hex.Replace('-','')
# convert hex string to byte array using FromHexString method
$bytes = [System.Convert]::FromHexString($hexString)
# Print the bytes
Write-Host $bytesในสคริปต์ PowerShell ข้างต้น ให้สร้างอาร์เรย์ไบต์และแปลงเป็นสตริงฐานสิบหกโดยใช้เมธอด ToString() ของคลาส System.BitConveter
ใน PowerShell เวอร์ชัน 7.1 เป็นต้นไป คลาส System.Convert จัดเตรียมเมธอด FromHexString() ที่แปลงสตริงฐานสิบหกเป็นอาร์เรย์ไบต์
ใน PowerShell เวอร์ชันเก่า ให้ใช้สคริปต์ต่อไปนี้เพื่อแปลงสตริงฐานสิบหกเป็นอาร์เรย์ไบต์
# byte array
$bytesArr = [byte[]]@(83,104,101,108,108,71,101,101,107)
# Convert byte array to hex string
$hex = [System.BitConverter]::ToString($bytes)
# remove - between hex string
$hexString = $hex.Replace('-','')
# Convert hex string to byte array
[byte[]]@(for ($i = 0; $i -lt $hexString.Length; $i += 2) { [convert]::ToByte($hexString.Substring($i, 2), 16) }) เคล็ดลับเด็ด: วิธีแปลง guid เป็นสตริงใน PowerShell!
บทสรุป
ฉันหวังว่าบทความข้างต้นเกี่ยวกับวิธีการแปลงอาร์เรย์ไบต์เป็นสตริงฐานสิบหกใน PowerShell โดยใช้วิธี GetString() ของรูปแบบการเข้ารหัส UTF8 จะเป็นประโยชน์สำหรับคุณ
การแปลงอาร์เรย์ไบต์เป็นสตริงเลขฐานสิบหกจะมีประโยชน์สำหรับงานต่างๆ เช่น การสร้างคีย์การเข้ารหัส หรือการทำงานกับข้อมูลไบนารี
คุณสามารถค้นหาหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และพื้นฐาน PowerShell ได้ในหน้าแรกของ ShellGeek
