Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

JSON and XML both support UTF-8. Neither supports embedding arbitrary binary data directly, especially if that data is not valid in your current character set


You wanted to send zero byte. This is how you send zero byte. You are making unrelated claims now that has nothing to do with your original claim.


You can't safely send zero bytes over XML even with UTF-8 encoding. Not in practice:

  echo '<zero>&#0;</zero>' | xmllint -
  -:1: parser error : xmlParseCharRef: invalid xmlChar value 0
  <zero>&#0;</zero>
            ^

  printf '<?xml version="1.0" encoding="utf-8"?><zero>\0</zero>' | xmllint -
  -:1: parser error : Premature end of data in tag zero line 1
  <?xml version="1.0" encoding="utf-8"?><zero>
                                            ^
And not in theory: https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-well-form...

  Character Range

  [2]    Char    ::=    [#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
  [2a]    RestrictedChar    ::=    [#x1-#x8] | [#xB-#xC] | [#xE-#x1F] | [#x7F-#x84] | [#x86-#x9F]


I explained how to do it, and yet you didn't follow instructions, have done something irrelevant, and are now complaining that it doesn't work... well sucks being you, I guess.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: