1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 20:35:07 +00:00
serenity/Ladybird/Qt/StringUtils.cpp
Simon Wanner cac23820c5 Ladybird/QT: Avoid constructing AK String types from char* without size
While QByteArray::data does return a null-terminated char* it's nicer to
avoid strlen() when we already know the size
2024-02-21 09:25:12 -05:00

35 lines
935 B
C++

/*
* Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include "StringUtils.h"
AK::ByteString ak_byte_string_from_qstring(QString const& qstring)
{
auto utf8_data = qstring.toUtf8();
return AK::ByteString(utf8_data.data(), utf8_data.size());
}
String ak_string_from_qstring(QString const& qstring)
{
auto utf8_data = qstring.toUtf8();
return MUST(String::from_utf8(StringView(utf8_data.data(), utf8_data.size())));
}
QString qstring_from_ak_string(StringView ak_string)
{
return QString::fromUtf8(ak_string.characters_without_null_termination(), static_cast<qsizetype>(ak_string.length()));
}
AK::URL ak_url_from_qstring(QString const& qstring)
{
auto utf8_data = qstring.toUtf8();
return AK::URL(StringView(utf8_data.data(), utf8_data.size()));
}
AK::URL ak_url_from_qurl(QUrl const& qurl)
{
return ak_url_from_qstring(qurl.toString());
}