diff --git a/src/jsx_decoder.erl b/src/jsx_decoder.erl index a380022..63df98e 100644 --- a/src/jsx_decoder.erl +++ b/src/jsx_decoder.erl @@ -1574,7 +1574,10 @@ good() -> [32, 33] ++ lists:seq(16#fdf0, 16#fffd). -good_extended() -> lists:seq(16#100000, 16#10fffd). +good_extended() -> [16#10000, 16#20000, 16#30000, 16#40000, 16#50000, + 16#60000, 16#70000, 16#80000, 16#90000, 16#a0000, + 16#b0000, 16#c0000, 16#d0000, 16#e0000, 16#f0000 + ] ++ lists:seq(16#100000, 16#10fffd). %% erlang refuses to encode certain codepoints, so fake them all diff --git a/src/jsx_encoder.erl b/src/jsx_encoder.erl index b1e95f7..bef380d 100644 --- a/src/jsx_encoder.erl +++ b/src/jsx_encoder.erl @@ -560,7 +560,10 @@ reserved_space() -> lists:seq(16#fdd0, 16#fdef). good() -> lists:seq(16#0000, 16#d7ff) ++ lists:seq(16#e000, 16#fdcf) ++ lists:seq(16#fdf0, 16#fffd). -good_extended() -> lists:seq(16#100000, 16#10fffd). +good_extended() -> [16#10000, 16#20000, 16#30000, 16#40000, 16#50000, + 16#60000, 16#70000, 16#80000, 16#90000, 16#a0000, + 16#b0000, 16#c0000, 16#d0000, 16#e0000, 16#f0000 + ] ++ lists:seq(16#100000, 16#10fffd). %% erlang refuses to encode certain codepoints, so fake them all diff --git a/src/jsx_utils.erl b/src/jsx_utils.erl index 7362ae7..93c0eea 100644 --- a/src/jsx_utils.erl +++ b/src/jsx_utils.erl @@ -770,7 +770,10 @@ reserved_space() -> lists:seq(16#fdd0, 16#fdef). good() -> lists:seq(16#0000, 16#d7ff) ++ lists:seq(16#e000, 16#fdcf) ++ lists:seq(16#fdf0, 16#fffd). -good_extended() -> lists:seq(16#100000, 16#10fffd). +good_extended() -> [16#10000, 16#20000, 16#30000, 16#40000, 16#50000, + 16#60000, 16#70000, 16#80000, 16#90000, 16#a0000, + 16#b0000, 16#c0000, 16#d0000, 16#e0000, 16#f0000 + ] ++ lists:seq(16#100000, 16#10fffd). %% erlang refuses to encode certain codepoints, so fake them all