StringUtils.cpp 938 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include "StringUtils.h"
  7. AK::ByteString ak_byte_string_from_qstring(QString const& qstring)
  8. {
  9. auto utf8_data = qstring.toUtf8();
  10. return AK::ByteString(utf8_data.data(), utf8_data.size());
  11. }
  12. String ak_string_from_qstring(QString const& qstring)
  13. {
  14. auto utf8_data = qstring.toUtf8();
  15. return MUST(String::from_utf8(StringView(utf8_data.data(), utf8_data.size())));
  16. }
  17. QString qstring_from_ak_string(StringView ak_string)
  18. {
  19. return QString::fromUtf8(ak_string.characters_without_null_termination(), static_cast<qsizetype>(ak_string.length()));
  20. }
  21. URL::URL ak_url_from_qstring(QString const& qstring)
  22. {
  23. auto utf8_data = qstring.toUtf8();
  24. return URL::URL(StringView(utf8_data.data(), utf8_data.size()));
  25. }
  26. URL::URL ak_url_from_qurl(QUrl const& qurl)
  27. {
  28. return ak_url_from_qstring(qurl.toString());
  29. }