anchor.diff:          {16#10196, <<?Q, 16#F0, 16#90, 16#86, 16#96, ?Q>>} %% denarius
       ],
       lists:foreach(fun({CodePoint, UTF8}) ->
  -        Expect = list_to_binary(xmerl_ucs:to_utf8(CodePoint)),
  +        Expect = unicode:characters_to_binary([CodePoint]),
           Expect = decode(UTF8)
       end, Good),
   
  
positive.code:     lists:reverse([$\} | Acc1]).
  
  json_encode_string(A, State) when is_atom(A) ->
      L = atom_to_list(A),
      case json_string_is_safe(L) of
          true ->
              [?Q, L, ?Q];
          false ->
              json_encode_string_unicode(xmerl_ucs:from_utf8(L), State, [?Q])
      end;
  json_encode_string(B, State) when is_binary(B) ->
      case json_bin_is_safe(B) of
          true ->
              [?Q, B, ?Q];
          false ->
              json_encode_string_unicode(xmerl_ucs:from_utf8(B), State, [?Q])
      end;
  json_encode_string(I, _State) when is_integer(I) ->
      [?Q, integer_to_list(I), ?Q];
  
negative.code:     ok.
  
  big_unicode_test() ->
      UTF8Seq = unicode:characters_to_binary([16#0001d120]),
      ?assertEqual(
         <<"\"\\ud834\\udd20\"">>,
         iolist_to_binary(encode(UTF8Seq))),
  