haxe icon indicating copy to clipboard operation
haxe copied to clipboard

haxe.Json does not encode Unicode properly

Open singpolyma opened this issue 6 months ago • 0 comments

Any string containing emoji for example is corrupted on CPP. Using this fixes it:

        function quote(s:UnicodeString) {
                addChar('"'.code);
                for (c in s) {
                        switch (c) {
                                case '"'.code:
                                        add('\\"');
                                case '\\'.code:
                                        add('\\\\');
                                case '\n'.code:
                                        add('\\n');
                                case '\r'.code:
                                        add('\\r');
                                case '\t'.code:
                                        add('\\t');
                                case 8:
                                        add('\\b');
                                case 12:
                                        add('\\f');
                                default:
                                        addChar(c);
                        }
                }
                addChar('"'.code);
        }

singpolyma avatar Apr 29 '25 18:04 singpolyma