diff --git a/core/fpdfapi/parser/fpdf_parser_decode.cpp b/core/fpdfapi/parser/fpdf_parser_decode.cpp
index 3d7b9ff..a2ba203 100644
--- a/core/fpdfapi/parser/fpdf_parser_decode.cpp
+++ b/core/fpdfapi/parser/fpdf_parser_decode.cpp
@@ -9,6 +9,7 @@
 #include <limits.h>
 
 #include <algorithm>
+#include <sstream>
 #include <utility>
 #include <vector>
 
@@ -512,20 +513,20 @@
 }
 
 CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, bool bHex) {
-  CFX_ByteTextBuf result;
+  std::ostringstream result;
   int srclen = src.GetLength();
   if (bHex) {
-    result.AppendChar('<');
+    result << '<';
     for (int i = 0; i < srclen; i++) {
       char buf[2];
       FXSYS_IntToTwoHexChars(src[i], buf);
-      result.AppendChar(buf[0]);
-      result.AppendChar(buf[1]);
+      result << buf[0];
+      result << buf[1];
     }
-    result.AppendChar('>');
-    return result.MakeString();
+    result << '>';
+    return CFX_ByteString(result);
   }
-  result.AppendChar('(');
+  result << '(';
   for (int i = 0; i < srclen; i++) {
     uint8_t ch = src[i];
     if (ch == 0x0a) {
@@ -537,11 +538,11 @@
       continue;
     }
     if (ch == ')' || ch == '\\' || ch == '(')
-      result.AppendChar('\\');
-    result.AppendChar(ch);
+      result << '\\';
+    result << static_cast<char>(ch);
   }
-  result.AppendChar(')');
-  return result.MakeString();
+  result << ')';
+  return CFX_ByteString(result);
 }
 
 bool FlateEncode(const uint8_t* src_buf,
