متن ورودی را از کدگذاری منبع به رمزگذاری مقصد تبدیل کنید.
ورودی یک تانسور رشته ای از هر شکلی است. خروجی یک تانسور رشته ای به همان شکل است که رشته های رمزگذاری شده را در خود دارد. رشته های خروجی همیشه یونیکد معتبر هستند. اگر ورودی حاوی موقعیتهای رمزگذاری نامعتبر باشد، ویژگی «خطا» خطمشی را برای نحوه برخورد با آنها تعیین میکند. اگر از خطمشی پیشفرض مدیریت خطا استفاده شود، قالببندی نامعتبر در خروجی با «جایگزینی_شار» جایگزین میشود. اگر خط مشی خطاها «نادیده گرفتن» باشد، هر موقعیت رمزگذاری نامعتبر در ورودی نادیده گرفته می شود و در خروجی گنجانده نمی شود. اگر روی "سخت" تنظیم شود، هر قالب بندی نامعتبر منجر به خطای InvalidArgument می شود.
این عملیات را میتوان با «output_encoding = input_encoding» برای اعمال قالببندی صحیح برای ورودیها حتی اگر قبلاً در کدگذاری مورد نظر قرار دارند، استفاده کرد.
اگر ورودی با علامت ترتیب بایتی که برای تعیین رمزگذاری لازم است پیشوند شود (مثلاً اگر رمزگذاری UTF-16 باشد و BOM نشان دهنده big-endian باشد)، آن BOM مصرف می شود و به خروجی گسیل نمی شود. اگر رمزگذاری ورودی با یک endianness صریح مشخص شده باشد (مثلا UTF-16-BE)، آنگاه BOM به عنوان یک فضای بدون شکست تفسیر می شود و در خروجی حفظ می شود (از جمله همیشه برای UTF-8).
نتیجه نهایی این است که اگر ورودی بهعنوان یک endianness صریح علامتگذاری شود، رمزگذاری به همه کدهای منبع وفادار است. اگر با endianness صریح مشخص نشده باشد، BOM بخشی از خود رشته در نظر گرفته نمی شود، بلکه به عنوان ابرداده در نظر گرفته می شود، و بنابراین در خروجی حفظ نمی شود.
مثال ها:
>>> tf.strings.unicode_transcode(["Hello", "TensorFlow"، "2.x"]، "UTF-8"، "UTF-16-BE")
کلاس های تو در تو
کلاس | UnicodeTranscode.Options | ویژگی های اختیاری برای UnicodeTranscode |
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
خروجی < TRString > | asOutput () دسته نمادین تانسور را برمی گرداند. |
Unicode Transcode استاتیک | ایجاد ( Scope scope، Operand < TString > input، String inputEncoding، String outputEncoding، Options... گزینه ها) روش کارخانه برای ایجاد کلاسی که یک عملیات UnicodeTranscode جدید را بسته بندی می کند. |
استاتیک UnicodeTranscode.Options | خطاها (خطاهای رشته ای) |
خروجی < TRString > | خروجی () یک تانسور رشته ای حاوی متن یونیکد که با استفاده از "output_encoding" کدگذاری شده است. |
استاتیک UnicodeTranscode.Options | جایگزین کنترل کاراکترها (شخصیت های جایگزین بولی) |
استاتیک UnicodeTranscode.Options | جایگزینی Char (Long replacementChar) |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
خروجی عمومی < TString > asOutput ()
دسته نمادین تانسور را برمی گرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی استاتیک UnicodeTranscode ایجاد (حوزه دامنه ، عملوند < TString > ورودی، رشته ورودی Encoding، خروجی رشته، گزینهها... گزینهها)
روش کارخانه برای ایجاد کلاسی که یک عملیات UnicodeTranscode جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
ورودی | متنی که باید پردازش شود. می تواند هر شکلی داشته باشد. |
inputEncoding | رمزگذاری متن رشته های ورودی این هر یک از رمزگذاری های پشتیبانی شده توسط مبدل های الگوریتمی ICU ucnv است. مثالها: "UTF-16"، "US ASCII"، "UTF-8"". |
outputEncoding | رمزگذاری یونیکد برای استفاده در خروجی. باید یکی از «UTF-8»، «UTF-16-BE»، «UTF-32-BE»» باشد. رمزگذاری های چند بایتی بزرگ اندیان خواهند بود. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از UnicodeTranscode
خطاهای عمومی استاتیک UnicodeTranscode.Options (خطاهای رشته ای)
مولفه های
خطاها | خط مشی رسیدگی به خطا زمانی که قالب بندی نامعتبر در ورودی یافت می شود. مقدار 'strict' باعث می شود که عملیات خطای InvalidArgument در هر قالب بندی ورودی نامعتبر ایجاد کند. مقدار «replace» (پیشفرض) باعث میشود که عملیات هر قالببندی نامعتبر در ورودی را با کد «replacement_char» جایگزین کند. مقدار "نادیده گرفتن" باعث می شود عملیات از هر قالب بندی نامعتبر در ورودی صرف نظر کند و هیچ کاراکتر خروجی مربوطه تولید نکند. |
---|
خروجی عمومی < TRString > خروجی ()
یک تانسور رشته ای حاوی متن یونیکد که با استفاده از "output_encoding" کدگذاری شده است.
عمومی استاتیک UnicodeTranscode.Options replaceControlCharacters (BooleanplaceControlCharacters)
مولفه های
جایگزین کنترل کاراکترها | آیا باید نویسههای کنترلی C0 (00-1F) را با «کاراکتر_جایگزینی» جایگزین کرد. پیش فرض نادرست است. |
---|
عمومی استاتیک UnicodeTranscode.Options replacementChar (Long replacementChar)
مولفه های
جایگزینی Char | نقطه کد کاراکتر جایگزین برای استفاده به جای هر قالب بندی نامعتبر در ورودی در هنگام `errors='replace'`. ممکن است از هر کد یونیکد معتبر استفاده شود. مقدار پیشفرض این است که کاراکتر جایگزین یونیکد پیشفرض 0xFFFD یا U+65533 است.) توجه داشته باشید که برای UTF-8، ارسال یک کاراکتر جایگزین قابل بیان در 1 بایت، مانند " "، تراز رشته را با منبع حفظ می کند زیرا بایت های نامعتبر با یک جایگزین 1 بایتی جایگزین می شوند. برای UTF-16-BE و UTF-16-LE، هر نویسه جایگزین 1 یا 2 بایت، تراز بایت را با منبع حفظ می کند. |
---|