Thep Excel

Binary.ToTextแปลงไบนารี่เป็นข้อความ

Binary.ToText แปลงข้อมูลไบนารี่เป็นข้อความโดยระบุวิธีการเข้ารหัส ใช้ได้ทั้ง Base64 และ Hex

fx
= Binary.ToText(binary, [encoding])

ความนิยม5/10
ความยาก4/10
ประโยชน์5/10

อัปเดต 12 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
binary binary ค่าไบนารี่ที่ต้องการแปลง สามารถมาจาก Binary.FromText, File.Contents, Web.Contents ฯลฯ
[encoding]ไม่บังคับ BinaryEncoding BinaryEncoding.Base64 วิธีการเข้ารหัส – BinaryEncoding.Base64 หรือ BinaryEncoding.Hex หากไม่ระบุจะใช้ค่า default

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

Binary.ToText คือฟังก์ชันที่แปลงค่าไบนารี่ (เป็นรูป bytes) ให้เป็นข้อความสตริงได้ ตรงข้ามกับ Binary.FromText ที่ทำส่วนกลับกัน ถ้าคุณดึงไฟล์จาก API หรือฐานข้อมูลมาอยู่ในรูป Binary ก็ต้องใช้ฟังก์ชันนี้เพื่อแปลงกลับเป็นข้อความที่อ่านได้

ที่เจ๋งคือสามารถระบุ encoding ได้ 2 แบบ คือ Base64 (ขนาดใหญ่กว่า เหมาะสำหรับ web) และ Hex (ขนาดเล็กกว่า เหมาะสำหรับ binary data) ขึ้นอยู่กับว่าข้อมูลเดิมเข้ารหัสแบบไหน ถ้าเลือก encoding ผิดจะได้ผลลัพธ์เป็นสัญลักษณ์แปลกๆ

ส่วนตัวผมใช้บ่อยเวลาดึงไฟล์จากแหล่งภายนอก หรือ API ที่ส่ง Base64 กลับมา ผมสังเกตว่าหลายคนลืมใส่ encoding parameter และได้ผลลัพธ์ไม่ถูก ตรงนี้จำไว้ว่า encoding ต้องตรงกับแบบที่ใช้เข้ารหัสตั้งแต่แรก

Examples

แปลง Base64 เป็นข้อความปกติlet Source = Binary.FromText("SGVsbG8gV29ybGQ=", BinaryEncoding.Base64), Result = Binary.ToText(Source, BinaryEncoding.Base64) in Result

เข้ารหัส Base64 "SGVsbG8gV29ybGQ=" แปลงกลับเป็น "Hello World" โดยระบุ BinaryEncoding.Base64 ให้ตรงกับแบบเข้ารหัส

fx
let
Source = Binary.FromText("SGVsbG8gV29ybGQ=", BinaryEncoding.Base64),
Result = Binary.ToText(Source, BinaryEncoding.Base64)
in
Result

ผลลัพธ์"Hello World"
แปลง Hex เป็นข้อความlet Source = Binary.FromText("48656C6C6F20576F726C64", BinaryEncoding.Hex), Result = Binary.ToText(Source, BinaryEncoding.Hex) in Result

Hex code "48656C6C6F20576F726C64" แปลงกลับเป็น "Hello World" ใช้ BinaryEncoding.Hex เพราะข้อมูลต้นฉบับเป็น Hex

fx
let
Source = Binary.FromText("48656C6C6F20576F726C64", BinaryEncoding.Hex),
Result = Binary.ToText(Source, BinaryEncoding.Hex)
in
Result

ผลลัพธ์"Hello World"
ดึงไฟล์ CSV เป็น Binary แล้วแปลงเป็นข้อความlet FileContents = File.Contents("C:\\Data\\report.csv"), TextContent = Binary.ToText(FileContents, BinaryEncoding.Utf8) in TextContent

ดึงไฟล์เป็น Binary ไฟล์ CSV เดิมบันทึกเป็น UTF-8 จึงต้องระบุ encoding ให้ถูก

fx
let
FileContents = File.Contents("C:\\Data\\report.csv"),
TextContent = Binary.ToText(FileContents, BinaryEncoding.Utf8)
in
TextContent

ผลลัพธ์"col1,col2,col3\nvalue1,value2,value3"
ความผิดพลาดเมื่อเลือก encoding ผิดlet Source = Binary.FromText("SGVsbG8gV29ybGQ=", BinaryEncoding.Base64), WrongResult = Binary.ToText(Source, BinaryEncoding.Hex) in WrongResult

ข้อมูลเข้ารหัสเป็น Base64 แต่แปลงโดยใช้ Hex จึงได้ผลลัพธ์ที่ไม่ถูกต้อง

fx
let
Source = Binary.FromText("SGVsbG8gV29ybGQ=", BinaryEncoding.Base64),
WrongResult = Binary.ToText(Source, BinaryEncoding.Hex)
in
WrongResult

ผลลัพธ์"48656C6C6F20576F726C64" (แม่นไม่ใช่ "Hello World")

FAQs

ต่างจาก Binary.FromText อย่างไร?+

Binary.FromText ทำส่วนกลับกัน – แปลงข้อความเป็น Binary ส่วน Binary.ToText แปลง Binary เป็นข้อความ ผมมองว่า FromText เป็นการ encode ส่วน ToText เป็นการ decode นั่นเอง

ถ้าไม่ระบุ encoding parameter จะเกิดอะไร?+

ฟังก์ชันจะใช้ encoding ค่า default แต่ผมแนะนำให้ระบุชัดเจนเสมอ เพราะง่ายต่อการอ่านโค้ดและลดความผิดพลาด ต้องแน่ใจว่า encoding ที่ใช้ตรงกับแบบที่เข้ารหัสตั้งแรก

ใช้กับไฟล์อะไรได้บ้าง?+

สามารถใช้กับไฟล์ที่เป็น Binary ได้ เช่น CSV, JSON, XML ที่อ่านผ่าน File.Contents หรือ Web.Contents ผมเคยใช้กับ API response ที่ส่ง Base64 กลับมา

ความแตกต่างระหว่าง Base64 กับ Hex คืออะไร?+

Base64 ใช้ 64 ตัวอักษร (A-Z, a-z, 0-9, +, /) ขนาดใหญ่กว่า Hex ใช้ 16 ตัวอักษร (0-9, A-F) ขนาดเล็กกว่า Base64 เหมาะสำหรับ web ส่วน Hex เหมาะสำหรับ binary data

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ Binary.ToText จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้Binary.ToTextBinary functions
Binary functions (4)
Binary.Decompress

Binary.Decompress ยกเลิกการบีบอัดข้อมูลไบนารี่ที่ถูกบีบอัดด้วย GZip หรือ Deflate กลับเป็นข้อมูลต้นฉบับ

Binary.From

Binary.From แปลงค่าต่างๆ (เช่น ข้อความ, รายการ) เป็นข้อมูลไบนารี่

Binary.FromText

Binary.FromText แปลงสตริงข้อความเป็นข้อมูลไบนารี่ที่สามารถใช้กับการเข้ารหัส Base64 หรือ Hex ได้

Binary.ToList

Binary.ToList แปลงข้อมูลไบนารี่เป็นรายการของตัวเลข (bytes)

enumerations (2)
BinaryEncoding.Type

ค่าประเภท (Type Constants) สำหรับกำหนดว่าจะเข้ารหัส Binary แบบไหน Base64 หรือ Hex

Compression.Type

Compression.Type เป็น enumeration ใน Power Query ที่ช่วยกำหนดประเภทการบีบอัดข้อมูล เช่น GZip, Deflate, Snappy, Brotli, LZ4, Zstandard เมื่อทำงานกับ Binary.Compress หรือ Binary.Decompress

Accessing data functions (2)
File.Contents

File.Contents ใช้อ่านข้อมูล binary ของไฟล์จากพาธที่ระบุ เพื่อนำเข้าข้อมูลจากระบบไฟล์ลงในโปรแกรม

Web.Contents

Web.Contents เป็นฟังก์ชันสำหรับดาวน์โหลดเนื้อหาจากเว็บไซต์หรือแหล่งข้อมูลบนอินเทอร์เน็ตผ่าน URL และคืนค่าเป็นข้อมูลแบบ binary data ที่สามารถนำไปประมวลผลต่อได้
.
รองรับการเชื่อมต่อและเรียกใช้งาน REST API อย่างครบถ้วนพร้อมระบบการยืนยันตัวตนผ่านทางตัวเลือกต่างๆ เช่น การกำหนดค่า Headers สำหรับส่งข้อมูลเพิ่มเติมในคำขอ การใช้ Query parameters สำหรับการกรองข้อมูลและส่งพารามิเตอร์ และการระบุ ApiKeyName เพื่อจัดเก็บคีย์การเข้าถึงอย่างปลอดภัย
.
เหมาะอย่างยิ่งสำหรับการเชื่อมต่อกับบริการเว็บและจุดเชื่อมต่อ API แบบไดนามิก โดยใช้ความสามารถของ RelativePath และตัวเลือก Query เพื่อสร้าง URL แบบยืดหยุ่นและทำให้กระบวนการรีเฟรชข้อมูลทำงานได้อย่างราบรื่นและมีประสิทธิภาพในระบบ Power BI Service

Text functions (1)
Text.ToBinary

Text.ToBinary ใช้สำหรับแปลงข้อความเป็นค่า Binary โดยใช้การเข้ารหัส UTF-8 เป็นค่าเริ่มต้น รองรับการเข้ารหัส UTF-16 และ ASCII

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่