diff --git a/Libraries/LibTextCodec/Decoder.cpp b/Libraries/LibTextCodec/Decoder.cpp index 1619e580700..a00c6c64939 100644 --- a/Libraries/LibTextCodec/Decoder.cpp +++ b/Libraries/LibTextCodec/Decoder.cpp @@ -65,12 +65,8 @@ String Latin1Decoder::to_utf8(const StringView& input) StringBuilder builder(input.length()); for (size_t i = 0; i < input.length(); ++i) { u8 ch = input[i]; - if (ch & 0x80) { - builder.append(0xc0 | (ch >> 6)); - builder.append(0x80 | (ch & 0x3f)); - } else { - builder.append(ch); - } + // Latin1 is the same as the first 256 Unicode codepoints, so no mapping is needed, just utf-8 encoding. + builder.append_codepoint(ch); } return builder.to_string(); }