Ich habe eine koreanische Zeichenfolge, die als Unicode wie u'정정'
kodiert ist. Woher weiß ich, wie viele Bytes benötigt werden, um diese Zeichenfolge darzustellen?Ermitteln Sie die Anzahl der für eine Unicode-Zeichenfolge benötigten Bytes.
Ich muss die genaue Anzahl der Bytes wissen, da ich die Zeichenfolge für iOS Push-Benachrichtigung verwenden und es hat eine Grenze für die Größe der Nutzlast.
len('정정')
funktioniert nicht, weil das die Anzahl der Zeichen, nicht die Anzahl der Bytes zurückgibt.
Woher wussten Sie, dass dieser Char '\ uC815' ist? Welche Codierung ist das? Ich habe es utf-8/16/32 versucht und keiner von ihnen ist korrekt, aber "u815" scheint zu funktionieren. – jasondinh
Ich habe eine Anwendung namens UnicodeChecker, die ich als Referenz verwenden, aber 'C815' ist der Unicode-Codepunkt. Wenn Sie die UTF-8- oder UTF-16-Bytefolge kennen, können Sie * daraus entschlüsseln, um das Unicode-Zeichen zu erhalten ('\ xEC \ xA0 \ x95'.decode ('UTF-8')'). Die Python-Eingabeaufforderung ist hier hilfreich; Python wird seine "Unicode_escape" -Codierung verwenden, wenn Unicode-Werte beispielsweise an das Terminal gesendet (nicht gedruckt) werden. –
Die Länge der UTF-16-Codierung impliziert, dass die UTF-16-Stückliste eingeschlossen wird. Ich weiß nicht, ob Python etwas wie 'encode ('UTF-16BE') unterstützt, um es zu vermeiden. – bames53