UnicodeTranscode

UnicodeTranscode คลาสสุดท้ายสาธารณะ

แปลงรหัสข้อความอินพุตจากการเข้ารหัสต้นทางเป็นการเข้ารหัสปลายทาง

อินพุตเป็นสตริงเทนเซอร์ที่มีรูปร่างใดๆ เอาต์พุตเป็นสตริงเทนเซอร์ที่มีรูปร่างเดียวกันซึ่งมีสตริงที่แปลงรหัสแล้ว สตริงเอาต์พุตจะเป็นยูนิโค้ดที่ถูกต้องเสมอ หากอินพุตมีตำแหน่งการเข้ารหัสที่ไม่ถูกต้อง แอตทริบิวต์ "ข้อผิดพลาด" จะกำหนดนโยบายสำหรับวิธีจัดการกับสิ่งเหล่านี้ หากใช้นโยบายการจัดการข้อผิดพลาดเริ่มต้น การจัดรูปแบบที่ไม่ถูกต้องจะถูกแทนที่ด้วย `replacement_char` ในเอาต์พุต หากนโยบายข้อผิดพลาดคือ "ละเว้น" ตำแหน่งการเข้ารหัสที่ไม่ถูกต้องในอินพุตจะถูกข้ามไปและไม่รวมอยู่ในเอาต์พุต หากตั้งค่าเป็น "เข้มงวด" การจัดรูปแบบที่ไม่ถูกต้องจะส่งผลให้เกิดข้อผิดพลาด InvalidArgument

การดำเนินการนี้สามารถใช้กับ `output_encoding = input_encoding` เพื่อบังคับใช้การจัดรูปแบบที่ถูกต้องสำหรับอินพุต แม้ว่าจะอยู่ในการเข้ารหัสที่ต้องการแล้วก็ตาม

หากอินพุตนำหน้าด้วย Byte Order Mark ที่จำเป็นในการกำหนดการเข้ารหัส (เช่น หากการเข้ารหัสเป็น UTF-16 และ BOM ระบุว่าเป็น big-endian) BOM นั้นจะถูกใช้และไม่ปล่อยลงในเอาต์พุต หากการเข้ารหัสอินพุตถูกทำเครื่องหมายด้วย endianness ที่ชัดเจน (เช่น UTF-16-BE) BOM จะถูกตีความว่าเป็นช่องว่างที่ไม่แยกและจะถูกเก็บรักษาไว้ในเอาต์พุต (รวมถึง UTF-8 เสมอ)

ผลลัพธ์ที่ได้คือหากอินพุตถูกทำเครื่องหมายว่าเป็น endianness ที่ชัดเจน การแปลงรหัสจะตรงตามจุดรหัสทั้งหมดในแหล่งที่มา หากไม่ได้ทำเครื่องหมายด้วย endianness ที่ชัดเจน BOM จะไม่ถือว่าเป็นส่วนหนึ่งของสตริง แต่เป็นข้อมูลเมตา ดังนั้นจะไม่ถูกเก็บรักษาไว้ในเอาต์พุต

ตัวอย่าง:

>>> tf.strings.unicode_transcode(["สวัสดี", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE") >>> tf.strings.unicode_transcode(["A", "B", "C"], "US ASCII", "UTF-8").numpy() อาร์เรย์([b'A', b'B' , b'C'], dtype=วัตถุ)

คลาสที่ซ้อนกัน

ระดับ UnicodeTranscode ตัวเลือก คุณลักษณะทางเลือกสำหรับ UnicodeTranscode

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

วิธีการสาธารณะ

เอาท์พุต < TString >
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
UnicodeTranscode แบบคงที่
สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ < TString > อินพุต สตริง inputEncoding สตริงเอาต์พุตการเข้ารหัส ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ UnicodeTranscode ใหม่
UnicodeTranscode.Options แบบคงที่
ข้อผิดพลาด (ข้อผิดพลาดสตริง)
เอาท์พุต < TString >
เอาท์พุท ()
เทนเซอร์สตริงที่มีข้อความ Unicode ที่เข้ารหัสโดยใช้ `output_encoding`
UnicodeTranscode.Options แบบคงที่
แทนที่ControlCharacters (บูลีนแทนที่ControlCharacters)
UnicodeTranscode.Options แบบคงที่
replacementChar (ถ่านทดแทนแบบยาว)

วิธีการสืบทอด

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "UnicodeTranscode"

วิธีการสาธารณะ

เอาท์ พุท สาธารณะ < TString > asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

การสร้าง UnicodeTranscode แบบคงที่สาธารณะ (ขอบเขต ขอบเขต ตัวดำเนินการ < TString > อินพุต สตริง inputEncoding สตริงเอาต์พุตการเข้ารหัส ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ UnicodeTranscode ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
ป้อนข้อมูล ข้อความที่จะประมวลผล จะมีรูปร่างแบบไหนก็ได้
การเข้ารหัสอินพุต การเข้ารหัสข้อความของสตริงอินพุต นี่คือการเข้ารหัสใดๆ ที่สนับสนุนโดยตัวแปลงอัลกอริทึม ucnv ของ ICU ตัวอย่าง: `"UTF-16", "US ASCII", "UTF-8"`
การเข้ารหัสเอาท์พุท การเข้ารหัส Unicode ที่จะใช้ในเอาต์พุต จะต้องเป็นหนึ่งใน `"UTF-8", "UTF-16-BE", "UTF-32-BE"` การเข้ารหัสแบบหลายไบต์จะเป็นแบบ big-endian
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • อินสแตนซ์ใหม่ของ UnicodeTranscode

ข้อผิดพลาด UnicodeTranscode.Options แบบคงที่สาธารณะ (ข้อผิดพลาดสตริง)

พารามิเตอร์
ข้อผิดพลาด นโยบายการจัดการข้อผิดพลาดเมื่อพบการจัดรูปแบบที่ไม่ถูกต้องในอินพุต ค่า 'เข้มงวด' จะทำให้การดำเนินการสร้างข้อผิดพลาด InvalidArgument ในการจัดรูปแบบอินพุตที่ไม่ถูกต้อง ค่า 'แทนที่' (ค่าเริ่มต้น) จะทำให้การดำเนินการแทนที่การจัดรูปแบบที่ไม่ถูกต้องในอินพุตด้วยจุดโค้ด `replacement_char` ค่า 'ละเว้น' จะทำให้การดำเนินการข้ามการจัดรูปแบบที่ไม่ถูกต้องในอินพุต และไม่มีอักขระเอาต์พุตที่สอดคล้องกัน

เอาท์ พุท สาธารณะ < TString > เอาท์พุท ()

เทนเซอร์สตริงที่มีข้อความ Unicode ที่เข้ารหัสโดยใช้ `output_encoding`

UnicodeTranscode.Options แบบคงที่สาธารณะ แทนที่ControlCharacters (บูลีนแทนที่ControlCharacters)

พารามิเตอร์
แทนที่ControlCharacters ว่าจะแทนที่อักขระควบคุม C0 (00-1F) ด้วย `replacement_char` หรือไม่ ค่าเริ่มต้นเป็นเท็จ

สาธารณะ UnicodeTranscode.Options replacementChar แบบคงที่ (Long replacementChar)

พารามิเตอร์
ทดแทนChar จุดโค้ดอักขระทดแทนที่จะใช้แทนการจัดรูปแบบที่ไม่ถูกต้องในอินพุตเมื่อ `errors='replace'' สามารถใช้จุดโค้ดยูนิโค้ดที่ถูกต้องได้ ค่าเริ่มต้นคืออักขระแทนที่ Unicode เริ่มต้นคือ 0xFFFD หรือ U+65533)

โปรดทราบว่าสำหรับ UTF-8 การส่งอักขระแทนที่ที่แสดงเป็น 1 ไบต์ เช่น ' ' จะคงการจัดแนวสตริงไว้ที่ต้นทาง เนื่องจากไบต์ที่ไม่ถูกต้องจะถูกแทนที่ด้วยการแทนที่ 1 ไบต์ สำหรับ UTF-16-BE และ UTF-16-LE อักขระแทนที่ 1 หรือ 2 ไบต์ใดๆ จะรักษาการจัดตำแหน่งของไบต์กับแหล่งที่มา