टेंसरफ़्लो:: ऑप्स:: यूनिकोडट्रांसकोड

#include <string_ops.h>

इनपुट टेक्स्ट को स्रोत एन्कोडिंग से गंतव्य एन्कोडिंग में ट्रांसकोड करें।

सारांश

इनपुट किसी भी आकार का एक स्ट्रिंग टेंसर है। आउटपुट उसी आकार का एक स्ट्रिंग टेंसर है जिसमें ट्रांसकोडेड स्ट्रिंग्स होती हैं। आउटपुट स्ट्रिंग्स हमेशा वैध यूनिकोड होती हैं। यदि इनपुट में अमान्य एन्कोडिंग स्थितियाँ हैं, तो errors विशेषता उनसे निपटने के लिए नीति निर्धारित करती है। यदि डिफ़ॉल्ट त्रुटि-हैंडलिंग नीति का उपयोग किया जाता है, तो अमान्य स्वरूपण को आउटपुट में replacement_char द्वारा प्रतिस्थापित किया जाएगा। यदि त्रुटियों की नीति को ignore करना है, तो इनपुट में किसी भी अमान्य एन्कोडिंग स्थिति को छोड़ दिया जाता है और आउटपुट में शामिल नहीं किया जाता है। यदि यह strict पर सेट है तो किसी भी अमान्य फ़ॉर्मेटिंग के परिणामस्वरूप InvalidArgument त्रुटि होगी।

इनपुट के लिए सही फ़ॉर्मेटिंग लागू करने के लिए इस ऑपरेशन का उपयोग output_encoding = input_encoding के साथ किया जा सकता है, भले ही वे पहले से ही वांछित एन्कोडिंग में हों।

यदि एन्कोडिंग निर्धारित करने के लिए आवश्यक बाइट ऑर्डर मार्क द्वारा इनपुट उपसर्ग किया गया है (उदाहरण के लिए यदि एन्कोडिंग यूटीएफ -16 है और बीओएम बड़े-एंडियन को इंगित करता है), तो उस बीओएम का उपभोग किया जाएगा और आउटपुट में उत्सर्जित नहीं किया जाएगा। यदि इनपुट एन्कोडिंग को स्पष्ट एंडियननेस (जैसे यूटीएफ-16-बीई) के साथ चिह्नित किया गया है, तो बीओएम को नॉन-ब्रेकिंग-स्पेस के रूप में व्याख्या किया जाता है और आउटपुट में संरक्षित किया जाता है (हमेशा यूटीएफ-8 सहित)।

अंतिम परिणाम यह है कि यदि इनपुट को स्पष्ट एंडियननेस के रूप में चिह्नित किया गया है तो ट्रांसकोडिंग स्रोत के सभी कोडपॉइंट के लिए वफादार है। यदि इसे स्पष्ट एंडियननेस के साथ चिह्नित नहीं किया गया है, तो बीओएम को स्ट्रिंग का हिस्सा नहीं बल्कि मेटाडेटा के रूप में माना जाता है, और इसलिए इसे आउटपुट में संरक्षित नहीं किया जाता है।

उदाहरण:

tf.strings.unicode_transcode(["हैलो", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE") tf.strings.unicode_transcode(["A", "B", "C"], "US ASCII", "UTF-8").numpy() array([b'A', b'B', b' सी'], dtype=ऑब्जेक्ट)

तर्क:

  • स्कोप: एक स्कोप ऑब्जेक्ट
  • इनपुट: संसाधित किया जाने वाला पाठ. कोई भी आकार हो सकता है.
  • इनपुट_एन्कोडिंग: इनपुट स्ट्रिंग्स का टेक्स्ट एन्कोडिंग। यह आईसीयू यूसीएनवी एल्गोरिथम कन्वर्टर्स द्वारा समर्थित एन्कोडिंग में से एक है। उदाहरण: "UTF-16", "US ASCII", "UTF-8"
  • आउटपुट_एनकोडिंग: आउटपुट में उपयोग करने के लिए यूनिकोड एन्कोडिंग। "UTF-8", "UTF-16-BE", "UTF-32-BE" में से एक होना चाहिए। मल्टी-बाइट एन्कोडिंग बड़े-एंडियन होंगे।

वैकल्पिक विशेषताएँ (देखें Attrs ):

  • त्रुटियाँ: इनपुट में अमान्य फ़ॉर्मेटिंग पाए जाने पर नीति प्रबंधन में त्रुटि। 'सख्त' का मान ऑपरेशन के कारण किसी भी अमान्य इनपुट फ़ॉर्मेटिंग पर InvalidArgument त्रुटि उत्पन्न करेगा। 'रिप्लेस' (डिफ़ॉल्ट) का मान ऑपरेशन को replacement_char कोडपॉइंट के साथ इनपुट में किसी भी अमान्य फ़ॉर्मेटिंग को बदलने का कारण बनेगा। 'अनदेखा' का मान ऑपरेशन के कारण इनपुट में किसी भी अमान्य फ़ॉर्मेटिंग को छोड़ देगा और कोई संबंधित आउटपुट वर्ण उत्पन्न नहीं करेगा।
  • रिप्लेसमेंट_चार: errors='replace' होने पर इनपुट में किसी भी अमान्य फ़ॉर्मेटिंग के स्थान पर रिप्लेसमेंट कैरेक्टर कोडपॉइंट का उपयोग किया जाता है। किसी भी वैध यूनिकोड कोडपॉइंट का उपयोग किया जा सकता है। डिफ़ॉल्ट मान डिफ़ॉल्ट यूनिकोड प्रतिस्थापन वर्ण 0xFFFD या U+65533 है।)

ध्यान दें कि UTF-8 के लिए, 1 बाइट में व्यक्त होने वाले प्रतिस्थापन वर्ण, जैसे '', को पास करने से स्रोत के साथ स्ट्रिंग संरेखण सुरक्षित रहेगा क्योंकि अमान्य बाइट्स को 1-बाइट प्रतिस्थापन के साथ बदल दिया जाएगा। UTF-16-BE और UTF-16-LE के लिए, कोई भी 1 या 2 बाइट प्रतिस्थापन वर्ण स्रोत के साथ बाइट संरेखण को सुरक्षित रखेगा।

  • रिप्लेस_कंट्रोल_कैरेक्टर: क्या C0 नियंत्रण कैरेक्टर (00-1F) को replacement_char से बदलना है। डिफ़ॉल्ट ग़लत है.

रिटर्न:

  • 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)

संरचनाएँ

टेंसरफ्लो:: ऑप्स:: यूनिकोडट्रांसकोड:: एटर्स

यूनिकोडट्रांसकोड के लिए वैकल्पिक विशेषता सेटर्स।

सार्वजनिक गुण

संचालन

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 

ऑपरेटर::टेन्सरफ़्लो::इनपुट

 operator::tensorflow::Input() const 

ऑपरेटर::टेन्सरफ़्लो::आउटपुट

 operator::tensorflow::Output() const 

सार्वजनिक स्थैतिक कार्य

त्रुटियाँ

Attrs Errors(
  StringPiece x
)

नियंत्रण वर्ण बदलें

Attrs ReplaceControlCharacters(
  bool x
)

रिप्लेसमेंटचार

Attrs ReplacementChar(
  int64 x
)