Binary.ToText แปลงข้อมูลไบนารี่เป็นข้อความโดยระบุวิธีการเข้ารหัส ใช้ได้ทั้ง Base64 และ Hex
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| binary | binary | ค่าไบนารี่ที่ต้องการแปลง สามารถมาจาก Binary.FromText, File.Contents, Web.Contents ฯลฯ | |
| [encoding]ไม่บังคับ | BinaryEncoding | BinaryEncoding.Base64 | วิธีการเข้ารหัส – BinaryEncoding.Base64 หรือ BinaryEncoding.Hex หากไม่ระบุจะใช้ค่า default |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
Binary.ToText คือฟังก์ชันที่แปลงค่าไบนารี่ (เป็นรูป bytes) ให้เป็นข้อความสตริงได้ ตรงข้ามกับ Binary.FromText ที่ทำส่วนกลับกัน ถ้าคุณดึงไฟล์จาก API หรือฐานข้อมูลมาอยู่ในรูป Binary ก็ต้องใช้ฟังก์ชันนี้เพื่อแปลงกลับเป็นข้อความที่อ่านได้
ที่เจ๋งคือสามารถระบุ encoding ได้ 2 แบบ คือ Base64 (ขนาดใหญ่กว่า เหมาะสำหรับ web) และ Hex (ขนาดเล็กกว่า เหมาะสำหรับ binary data) ขึ้นอยู่กับว่าข้อมูลเดิมเข้ารหัสแบบไหน ถ้าเลือก encoding ผิดจะได้ผลลัพธ์เป็นสัญลักษณ์แปลกๆ
ส่วนตัวผมใช้บ่อยเวลาดึงไฟล์จากแหล่งภายนอก หรือ API ที่ส่ง Base64 กลับมา ผมสังเกตว่าหลายคนลืมใส่ encoding parameter และได้ผลลัพธ์ไม่ถูก ตรงนี้จำไว้ว่า encoding ต้องตรงกับแบบที่ใช้เข้ารหัสตั้งแต่แรก
เข้ารหัส Base64 "SGVsbG8gV29ybGQ=" แปลงกลับเป็น "Hello World" โดยระบุ BinaryEncoding.Base64 ให้ตรงกับแบบเข้ารหัส
Hex code "48656C6C6F20576F726C64" แปลงกลับเป็น "Hello World" ใช้ BinaryEncoding.Hex เพราะข้อมูลต้นฉบับเป็น Hex
ดึงไฟล์เป็น Binary ไฟล์ CSV เดิมบันทึกเป็น UTF-8 จึงต้องระบุ encoding ให้ถูก
ข้อมูลเข้ารหัสเป็น Base64 แต่แปลงโดยใช้ Hex จึงได้ผลลัพธ์ที่ไม่ถูกต้อง
Binary.FromText ทำส่วนกลับกัน – แปลงข้อความเป็น Binary ส่วน Binary.ToText แปลง Binary เป็นข้อความ ผมมองว่า FromText เป็นการ encode ส่วน ToText เป็นการ decode นั่นเอง
ฟังก์ชันจะใช้ encoding ค่า default แต่ผมแนะนำให้ระบุชัดเจนเสมอ เพราะง่ายต่อการอ่านโค้ดและลดความผิดพลาด ต้องแน่ใจว่า encoding ที่ใช้ตรงกับแบบที่เข้ารหัสตั้งแรก
สามารถใช้กับไฟล์ที่เป็น Binary ได้ เช่น CSV, JSON, XML ที่อ่านผ่าน File.Contents หรือ Web.Contents ผมเคยใช้กับ API response ที่ส่ง Base64 กลับมา
Base64 ใช้ 64 ตัวอักษร (A-Z, a-z, 0-9, +, /) ขนาดใหญ่กว่า Hex ใช้ 16 ตัวอักษร (0-9, A-F) ขนาดเล็กกว่า Base64 เหมาะสำหรับ web ส่วน Hex เหมาะสำหรับ binary data
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Binary.ToText จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Binary.Decompress ยกเลิกการบีบอัดข้อมูลไบนารี่ที่ถูกบีบอัดด้วย GZip หรือ Deflate กลับเป็นข้อมูลต้นฉบับ
Binary.From แปลงค่าต่างๆ (เช่น ข้อความ, รายการ) เป็นข้อมูลไบนารี่
Binary.FromText แปลงสตริงข้อความเป็นข้อมูลไบนารี่ที่สามารถใช้กับการเข้ารหัส Base64 หรือ Hex ได้
Binary.ToList แปลงข้อมูลไบนารี่เป็นรายการของตัวเลข (bytes)
ค่าประเภท (Type Constants) สำหรับกำหนดว่าจะเข้ารหัส Binary แบบไหน Base64 หรือ Hex
Compression.Type เป็น enumeration ใน Power Query ที่ช่วยกำหนดประเภทการบีบอัดข้อมูล เช่น GZip, Deflate, Snappy, Brotli, LZ4, Zstandard เมื่อทำงานกับ Binary.Compress หรือ Binary.Decompress
File.Contents ใช้อ่านข้อมูล binary ของไฟล์จากพาธที่ระบุ เพื่อนำเข้าข้อมูลจากระบบไฟล์ลงในโปรแกรม
Web.Contents เป็นฟังก์ชันสำหรับดาวน์โหลดเนื้อหาจากเว็บไซต์หรือแหล่งข้อมูลบนอินเทอร์เน็ตผ่าน URL และคืนค่าเป็นข้อมูลแบบ binary data ที่สามารถนำไปประมวลผลต่อได้
.
รองรับการเชื่อมต่อและเรียกใช้งาน REST API อย่างครบถ้วนพร้อมระบบการยืนยันตัวตนผ่านทางตัวเลือกต่างๆ เช่น การกำหนดค่า Headers สำหรับส่งข้อมูลเพิ่มเติมในคำขอ การใช้ Query parameters สำหรับการกรองข้อมูลและส่งพารามิเตอร์ และการระบุ ApiKeyName เพื่อจัดเก็บคีย์การเข้าถึงอย่างปลอดภัย
.
เหมาะอย่างยิ่งสำหรับการเชื่อมต่อกับบริการเว็บและจุดเชื่อมต่อ API แบบไดนามิก โดยใช้ความสามารถของ RelativePath และตัวเลือก Query เพื่อสร้าง URL แบบยืดหยุ่นและทำให้กระบวนการรีเฟรชข้อมูลทำงานได้อย่างราบรื่นและมีประสิทธิภาพในระบบ Power BI Service
Text.ToBinary ใช้สำหรับแปลงข้อความเป็นค่า Binary โดยใช้การเข้ารหัส UTF-8 เป็นค่าเริ่มต้น รองรับการเข้ารหัส UTF-16 และ ASCII
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่