เทนเซอร์โฟลว์ :: ops :: UnicodeTranscode

#include <string_ops.h>

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

สรุป

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

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

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

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

อาร์กิวเมนต์:

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

แอตทริบิวต์เสริม (ดู Attrs ):

  • ข้อผิดพลาด: ข้อผิดพลาดในการจัดการนโยบายเมื่อพบการจัดรูปแบบที่ไม่ถูกต้องในอินพุต ค่าของ "เข้มงวด" จะทำให้การดำเนินการสร้างข้อผิดพลาด InvalidArgument ในการจัดรูปแบบอินพุตที่ไม่ถูกต้อง ค่าของ 'แทนที่' (ค่าเริ่มต้น) จะทำให้การดำเนินการแทนที่การจัดรูปแบบที่ไม่ถูกต้องในอินพุตด้วยรหัสจุด replacement_char ค่าของ "ละเว้น" จะทำให้การดำเนินการข้ามการจัดรูปแบบที่ไม่ถูกต้องในอินพุตและไม่สร้างอักขระเอาต์พุตที่เกี่ยวข้อง
  • replacement_char: จุดรหัสอักขระทดแทนที่จะใช้แทนการจัดรูปแบบที่ไม่ถูกต้องในอินพุตเมื่อ errors='replace' ใด ๆ codepoint Unicode ที่ถูกต้องอาจจะใช้ ค่าดีฟอลต์คืออักขระการแทนที่ Unicode เริ่มต้นคือ 0xFFFD หรือ U + 65533)

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

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

ผลตอบแทน:

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

ผู้สร้างและผู้ทำลาย

UnicodeTranscode (const :: tensorflow::Scope & scope, :: tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding)
UnicodeTranscode (const :: tensorflow::Scope & scope, :: tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs)

คุณลักษณะสาธารณะ

operation
output

หน้าที่สาธารณะ

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

ฟังก์ชันคงที่สาธารณะ

Errors (StringPiece x)
ReplaceControlCharacters (bool x)
ReplacementChar (int64 x)

โครงสร้าง

tensorflow :: ops :: UnicodeTranscode :: Attrs

ตัวตั้งค่าแอตทริบิวต์เสริมสำหรับ UnicodeTranscode

คุณลักษณะสาธารณะ

การดำเนินการ

Operation operation

เอาท์พุท

::tensorflow::Output output

หน้าที่สาธารณะ

UnicodeTranscode

 UnicodeTranscode(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  StringPiece input_encoding,
  StringPiece output_encoding
)

UnicodeTranscode

 UnicodeTranscode(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  StringPiece input_encoding,
  StringPiece output_encoding,
  const UnicodeTranscode::Attrs & attrs
)

โหนด

::tensorflow::Node * node() const 

ตัวดำเนินการ :: tensorflow :: อินพุต

 operator::tensorflow::Input() const 

ตัวดำเนินการ :: tensorflow :: เอาท์พุท

 operator::tensorflow::Output() const 

ฟังก์ชันคงที่สาธารณะ

ข้อผิดพลาด

Attrs Errors(
  StringPiece x
)

ReplaceControlCharacters

Attrs ReplaceControlCharacters(
  bool x
)

เปลี่ยนถ่าน

Attrs ReplacementChar(
  int64 x
)