Adjusting password

This commit is contained in:
Jakub Melka
2019-08-12 12:02:40 +02:00
parent c4ea7a3ea8
commit cfc9593d14
7 changed files with 243 additions and 34 deletions

View File

@ -1871,6 +1871,33 @@ QString PDFEncoding::convert(const QByteArray& stream, PDFEncoding::Encoding enc
return result;
}
QByteArray PDFEncoding::convertToEncoding(const QString& string, PDFEncoding::Encoding encoding)
{
QByteArray result;
const encoding::EncodingTable* table = getTableForEncoding(encoding);
Q_ASSERT(table);
result.reserve(string.size());
for (QChar character : string)
{
ushort unicode = character.unicode();
unsigned char converted = 0;
for (int i = 0; i < table->size(); ++i)
{
if (unicode == (*table)[static_cast<unsigned char>(i)])
{
converted = i;
}
}
result.push_back(converted);
}
return result;
}
QString PDFEncoding::convertTextString(const QByteArray& stream)
{
if (hasUnicodeLeadMarkings(stream))