tensorflow:: عملیات:: یونیکدترانس‌کد

#include <string_ops.h>

متن ورودی را از یک کدگذاری منبع به یک کدگذاری مقصد تبدیل کد کنید.

خلاصه

ورودی یک تانسور رشته‌ای با هر شکلی است. خروجی یک تانسور رشته‌ای با همان شکل است که شامل رشته‌های تبدیل‌شده است. رشته‌های خروجی همیشه یونیکد معتبر هستند. اگر ورودی حاوی موقعیت‌های کدگذاری نامعتبر باشد، ویژگی errors سیاست نحوه برخورد با آنها را تعیین می‌کند. اگر از سیاست پیش‌فرض مدیریت خطا استفاده شود، قالب‌بندی نامعتبر در خروجی با replacement_char جایگزین می‌شود. اگر سیاست errors ignore ، هر موقعیت کدگذاری نامعتبر در ورودی نادیده گرفته می‌شود و در خروجی گنجانده نمی‌شود. اگر روی strict تنظیم شود، هر قالب‌بندی نامعتبر منجر به خطای InvalidArgument خواهد شد.

این عملیات می‌تواند به همراه output_encoding = input_encoding برای اعمال قالب‌بندی صحیح برای ورودی‌ها، حتی اگر از قبل در کدگذاری مورد نظر باشند، استفاده شود.

اگر ورودی با یک علامت ترتیب بایت (Byte Order Mark) که برای تعیین کدگذاری مورد نیاز است، پیشوند شده باشد (مثلاً اگر کدگذاری UTF-16 باشد و BOM نشان دهنده big-endian باشد)، آن BOM مصرف می‌شود و در خروجی منتشر نمی‌شود. اگر کدگذاری ورودی با یک endianness صریح علامت گذاری شده باشد (مثلاً UTF-16-BE)، BOM به عنوان یک فضای بدون شکست (non-breaking-space) تفسیر می‌شود و در خروجی حفظ می‌شود (از جمله همیشه برای UTF-8).

نتیجه نهایی این است که اگر ورودی به عنوان یک endianness صریح علامت‌گذاری شود، کدگذاری به تمام نقاط کد در منبع وفادار می‌ماند. اگر با endianness صریح علامت‌گذاری نشود، BOM بخشی از خود رشته محسوب نمی‌شود، بلکه به عنوان فراداده در نظر گرفته می‌شود و بنابراین در خروجی حفظ نمی‌شود.

استدلال‌ها:

  • دامنه: یک شیء دامنه
  • ورودی: متنی که قرار است پردازش شود. می‌تواند هر شکلی داشته باشد.
  • input_encoding: کدگذاری متن رشته‌های ورودی. این هر یک از کدگذاری‌های پشتیبانی شده توسط مبدل‌های الگوریتمی ICU ucnv است. مثال‌ها: "UTF-16", "US ASCII", "UTF-8" .
  • output_encoding: کدگذاری یونیکد برای استفاده در خروجی. باید یکی از "UTF-8", "UTF-16-BE", "UTF-32-BE" باشد. کدگذاری‌های چند بایتی big-endian خواهند بود.

ویژگی‌های اختیاری (به Attrs مراجعه کنید):

  • خطاها: سیاست مدیریت خطا در صورت وجود قالب‌بندی نامعتبر در ورودی. مقدار «strict» باعث می‌شود که عملیات در صورت وجود هرگونه قالب‌بندی نامعتبر در ورودی، خطای InvalidArgument تولید کند. مقدار «replace» (پیش‌فرض) باعث می‌شود که عملیات هرگونه قالب‌بندی نامعتبر در ورودی را با نقطه کد replacement_char جایگزین کند. مقدار «ignore» باعث می‌شود که عملیات از هرگونه قالب‌بندی نامعتبر در ورودی صرف‌نظر کند و هیچ کاراکتر خروجی متناظری تولید نکند.
  • replacement_char: نقطه کد کاراکتر جایگزینی که به جای هرگونه قالب‌بندی نامعتبر در ورودی هنگام errors='replace' استفاده می‌شود. هر نقطه کد یونیکد معتبری می‌تواند استفاده شود. مقدار پیش‌فرض، کاراکتر جایگزینی یونیکد پیش‌فرض 0xFFFD یا U+65533 است.)

توجه داشته باشید که برای UTF-8، ارسال یک کاراکتر جایگزین قابل بیان در ۱ بایت، مانند ' '، تراز رشته را با منبع حفظ می‌کند زیرا بایت‌های نامعتبر با یک جایگزین ۱ بایتی جایگزین می‌شوند. برای UTF-16-BE و UTF-16-LE، هر کاراکتر جایگزین ۱ یا ۲ بایتی، تراز بایت را با منبع حفظ می‌کند.

  • replace_control_characters: آیا کاراکترهای کنترلی C0 (00-1F) با replacement_char جایگزین شوند یا خیر. مقدار پیش‌فرض false است.

بازده:

  • Output : یک تانسور رشته‌ای حاوی متن یونیکد که با استفاده از 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:: عملیات:: یونیکدترانس‌کد:: جذابیت‌ها

تنظیم‌کننده‌های ویژگی اختیاری برای UnicodeTranscode .

ویژگی‌های عمومی

عملیات

Operation operation

خروجی

::tensorflow::Output output

کارکردهای عمومی

یونیکدترانس‌کد

 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
)

گره

::tensorflow::Node * node() const 

عملگر::tensorflow::ورودی

 operator::tensorflow::Input() const 

عملگر::tensorflow::خروجی

 operator::tensorflow::Output() const 

توابع استاتیک عمومی

خطاها

Attrs Errors(
  StringPiece x
)

کاراکترهای کنترل جایگزین

Attrs ReplaceControlCharacters(
  bool x
)

جایگزینی

Attrs ReplacementChar(
  int64 x
)