Архив метки: UTF8

Python Base64 encode decode

import base64                                                       

a = base64.b64encode(bytes(u’complex string: ñáéíóúÑ’, «utf-8»))

# a: b’Y29tcGxleCBzdHJpbmc6IMOxw6HDqcOtw7PDusOR’

b = base64.b64decode(a).decode(«utf-8», «ignore»)                   

print(b)

# b :complex string: ñáéíóúÑ

Использование кодировки UTF-8 в скриптах на Python

Если собираемся внутри скрипра на питоне писать текст на русском или ещё каком языке кроме английского, то в начало файла нужно вставить строку:

# -*- coding: utf-8 -*-

Иначе скрипт выплюнет ошибку вроде этой:

  File "1.py", line 1
SyntaxError: Non-ASCII character '\xd0' in file 1.py on 
line 1, but no encoding declared; see 
http://www.python.org/peps/pep-0263.html for details

Qt: UTF8 в CP1251 и CP1251 в UTF8

Вовремя пригодилась статья: [Qt] UTF в 1251 и 1251 в UTF. Как раз занимался расшифровкой дампа базы данных main.db от телефона Motorola A1200 (формат базы данных — BerkleyDB4). Самый полезный кусок кода:

QByteArray msg = QByteArray::fromHex("cde5eff0e0e2e8ebfcedeee520f1eeeee1f9e5ede8e5204b4f4e5f544d5f484f53544b4e4620eef220d3cad2d121"); 
QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); 
QString strf = codec->toUnicode(msg); 
qDebug() << strf;