Browse Source

Merge pull request #1974 from mandel59/cs-surrogate-pair

Escape beyond-BMP characters correctly in gencs
Simon Krajewski 12 năm trước cách đây
mục cha
commit
b2d6bec2cf
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      gencs.ml

+ 2 - 1
gencs.ml

@@ -832,7 +832,8 @@ let configure gen =
       | 13 (* \r *) -> Buffer.add_string b "\\r"
       | 10 (* \n *) -> Buffer.add_string b "\\n"
       | 9 (* \t *) -> Buffer.add_string b "\\t"
-      | c when c < 32 || c >= 127 -> Buffer.add_string b (Printf.sprintf "\\u%.4x" c)
+      | c when c < 32 || (c >= 127 && c <= 0xFFFF) -> Buffer.add_string b (Printf.sprintf "\\u%.4x" c)
+      | c when c > 0xFFFF -> Buffer.add_string b (Printf.sprintf "\\U%.8x" c)
       | c -> Buffer.add_char b (Char.chr c)
   in