Ho una stringa coreana codificata come Unicode come u'정정'
. Come faccio a sapere quanti byte sono necessari per rappresentare questa stringa?Ottieni il numero di byte necessari per una stringa Unicode
Ho bisogno di conoscere il numero esatto dei byte poiché sto usando la stringa per la notifica push di iOS e ha un limite sulla dimensione del payload.
len('정정')
non funziona perché restituisce il numero di caratteri, non il numero di byte.
Come sapevi che questo carattere è "\ uC815"? Che cos'è la codifica? Ho provato utf-8/16/32 e nessuno di loro è corretto, ma "\ uC815" sembra funzionare. – jasondinh
Ho un'applicazione chiamata UnicodeChecker che uso per riferimento, ma 'C815' è il punto codice unicode. Se si conosce la sequenza di byte UTF-8 o UTF-16, è possibile * decodificare * da quello per ottenere il carattere unicode (''\ xEC \ xA0 \ x95'.decode (' UTF-8 ')'). Il prompt di python è utile qui; python userà la sua codifica 'unicode_escape' quando eche (non stampando) valori unicode al terminale, per esempio. –
La lunghezza della codifica UTF-16 implica che il BOM UTF-16 sia incluso. Non so se Python supporti qualcosa come 'encode ('UTF-16BE')' per evitarlo. – bames53