Thep Excel

Binary.Bufferสร้างค่า Binary ที่เสถียร

Binary.Buffer สร้างเวอร์ชัน Stable ของข้อมูล Binary ในหน่วยความจำ ข้อมูล Binary ที่ Buffered จะมีคุณสมบัติตายตัว ได้แก่ ความยาวคงที่และลำดับ Bytes สม่ำเสมอ ใช้เมื่อต้องการความเชื่อถือได้ของข้อมูล

fx
=Binary.Buffer(binary) as nullable binary

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

อัปเดต 4 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
binary binary ค่า Binary (nullable) ที่ต้องการ Buffer เพื่อให้มีคุณสมบัติแน่นอน

ฟังก์ชัน Binary.Buffer ใน Power Query ใช้สำหรับสร้างเวอร์ชันเสถียร (Stable) ของค่า Binary ใน memory ค่า Binary ที่ผ่าน Buffer จะมีคุณสมบัติที่แน่นอน คือ ความยาวคงที่และลำดับ Bytes ที่สม่ำเสมอ เหมาะสำหรับการดำเนินการที่ต้องการพฤติกรรม Binary ที่สามารถคาดเดาได้

How it works

สร้างข้อมูล Binary ที่สม่ำเสมอ

Buffer ข้อมูล Binary ก่อนการดำเนินการที่ต้องการลำดับ Bytes และความยาวที่คาดเดาได้

เตรียมข้อมูลสำหรับการแปลง

สร้างเวอร์ชัน Stable ของ Binary ก่อนแปลงเป็น Text หรือรูปแบบอื่น

บังคับให้ Lazy Streams เป็น Materialized

Buffer ข้อมูล Binary ที่โหลดแบบ Lazy เพื่อให้เกิดการ Materialize และปฏิบัติแบบสม่ำเสมอ

Examples

ตัวอย่างที่ 1: Buffer รายการตัวเลขเป็น BinaryBinary.Buffer(Binary.FromList({0, 1, 2, 3, 4, 5}))

สร้าง Binary จากรายการตัวเลข {0, 1, 2, 3, 4, 5} แล้ว Buffer เพื่อให้ Binary มีคุณสมบัติ Stable (ความยาว 6 Bytes ที่แน่นอน)

fx
=Binary.Buffer(Binary.FromList({0, 1, 2, 3, 4, 5}))

ผลลัพธ์#binary({0, 1, 2, 3, 4, 5})
ตัวอย่างที่ 2: Buffer ข้อความและตรวจสอบความยาวlet TextData = "Hello", BinaryData = Binary.FromText(TextData), BufferedData = Binary.Buffer(BinaryData), Length = Binary.Length(BufferedData) in Length

แปลงข้อความ "Hello" เป็น Binary ด้วย Binary.FromText Buffer เพื่อให้ Binary มีความยาวแน่นอน จากนั้นใช้ Binary.Length ตรวจสอบได้ผลลัพธ์ 5 Bytes (H=1, e=1, l=1, l=1, o=1)

fx
let
TextData = "Hello",
BinaryData = Binary.FromText(TextData),
BufferedData = Binary.Buffer(BinaryData),
Length = Binary.Length(BufferedData)
in
Length

ผลลัพธ์5
ตัวอย่างที่ 3: Buffer แล้วดึง Bytes ช่วงแรกlet Source = Binary.FromText("PowerQuery"), Buffered = Binary.Buffer(Source), FirstFiveBytes = Binary.Range(Buffered, 0, 5) in FirstFiveBytes

สร้าง Binary จากข้อความ "PowerQuery" Buffer เพื่อให้มีความยาวแน่นอน จากนั้นใช้ Binary.Range ดึง 5 Bytes แรก (P=80, o=111, w=119, e=101, r=114 ใน Byte) ได้ผลลัพธ์เป็น Binary ใหม่

fx
let
Source = Binary.FromText("PowerQuery"),
Buffered = Binary.Buffer(Source),
FirstFiveBytes = Binary.Range(Buffered, 0, 5)
in
FirstFiveBytes

ผลลัพธ์#binary({80, 111, 119, 101, 114})

FAQs

"Stable" หมายความว่าอย่างไรในบริบทนี้?+

Stable หมายความว่า Binary มีคุณสมบัติตายตัว ได้แก่ ความยาวคงที่และลำดับ Bytes สม่ำเสมอ สำคัญเมื่อ Binary มาจาก Stream หรือข้อมูลที่ Generate แบบ Dynamic ซึ่งอาจให้ผลต่างกันในแต่ละครั้ง

ควรใช้ Binary.Buffer เมื่อไร?+

ใช้เมื่อมี Binary ที่อาจเป็น Lazy-evaluated (เช่น Stream หรือข้อมูล Dynamic) และต้องใช้ในการดำเนินการหลายอย่าง เพื่อให้ได้ผลลัพธ์สม่ำเสมอ

Buffer มีผลต่อ Performance หรือไม่?+

Buffer จะนำ Binary ขึ้นมา Memory ทั้งหมด ถ้า Binary ใหญ่มากจะใช้ Memory มาก แต่ถ้าต้องใช้ Binary หลายครั้งมักจะเร็วขึ้นเพราะไม่ต้อง Recompute

ถ้า Input เป็น null จะเกิดอะไร?+

Binary.Buffer จะคืนค่า null ถ้า Input เป็น null รักษาพฤติกรรม null propagation ของ Power Query

Resources & Related

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

ฟังก์ชันนี้Binary.BufferBinary functions
Binary functions (4)
Binary.FromList

Binary.FromList สร้างข้อมูลไบนารี่จากรายการตัวเลข (bytes) โดยแต่ละตัวเลขแสดงถึงไบต์เดียว

Binary.FromText

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

Binary.Length

Binary.Length ตรวจสอบและคืนค่าจำนวน Bytes ในค่า Binary เป็นตัวเลข เช่น Binary ที่มี 5 Bytes จะคืนค่า 5

Binary.Range

Binary.Range เลือกช่วงข้อมูลจากตำแหน่งเริ่มต้นและความยาวที่ระบุ

Comments

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