unicodes in json are 6 string characters. '\u007F'. If you do it Casey's way, it's two '\'+chr(0x7F).
-
-
Replying to @LyleJantzi @beached_whale
The problem is very simple. If you are handed a buffer and you need to know how much space the JSON encode will take, right now it's 6*size. If you fixed this, it would be 2*size. It is an important difference.
1 reply 0 retweets 3 likes -
Replying to @cmuratori @LyleJantzi
The strings being encoded, other than the ones in the image can be as is. utf8 with a codepoint >0x19 is all good
2 replies 0 retweets 0 likes -
Replying to @beached_whale @LyleJantzi
This doesn't affect the problem at all. The maximum size before parsing is still 6*size, and always will be, because until you inspect the contents of the input, you don't know whether it will contain, for example, entirely 0x01's.
3 replies 0 retweets 2 likes -
Replying to @cmuratori @LyleJantzi
It would be interesting to see if counting and doing a single allocation would be fastests. On the parsing side it has shown to be the case. Luckily the string can be treated as hex and then it becomes a single allocation with O(1) size lookup * 2
1 reply 0 retweets 0 likes -
Replying to @beached_whale @LyleJantzi
I have no idea what you're talking about. You cannot "treat" the string as anything in particular. You just have an input buffer of size n and you need to write the output into a JSON buffer, and that requires 6*n space in the worst case. Period. That is all there is to say?
1 reply 0 retweets 1 like -
Replying to @cmuratori @LyleJantzi
If both sides agree the string can be encoded as hex. This isn't uncommon for binary data as string in json. Doesnt work for dropbox though
1 reply 0 retweets 0 likes -
Replying to @beached_whale @LyleJantzi
If both sides agree you don't have to send JSON! How is that helping?
1 reply 0 retweets 2 likes -
Replying to @cmuratori @LyleJantzi
Putting hex in a string is within the spec. Either way, yeah it’s bigger
1 reply 0 retweets 0 likes -
Replying to @beached_whale @LyleJantzi
BUT IF BOTH SIDES AGREE YOU DO NOT NEED TO SEND JSON. YOU WOULD JUST SEND THE STRING AS A RAW BINARY AND IT IS 1X THE SIZE. At the risk of stating the obvious, nobody who cares about these things would ever send JSON to each other. You'd use a more efficient encoding.
1 reply 0 retweets 3 likes
This discussion is about JSON, the format, as is necessary to use to send strings to things like web services, which you do not control. Which is the point of the JSON spec, and my complaint.
-
-
Replying to @cmuratori @LyleJantzi
It isn't JSON issue. It's trying to encode within the limitations of a HTTP URL. JSON doesn't care as long as your code point is >0x19. It offers a mechanism, I agree that is 6x because Javascript did it that way, but generally it's not a problem. Here is it
1 reply 0 retweets 0 likes -
That might have been an example someone posted. Sorry. But the point that it's bigger than it should be you made is true, but my point of it generally not used is true too.
0 replies 0 retweets 0 likes
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.