Mercurial > hg > ietf
changeset 12:9cb53ac26388
mostly done with o-umlaut
| author | Henry S. Thompson <ht@inf.ed.ac.uk> |
|---|---|
| date | Thu, 01 May 2025 11:35:23 +0100 |
| parents | bc100f494ca0 |
| children | 38c8261aebfc 9f2a1fab49d7 |
| files | twt_review.txt |
| diffstat | 1 files changed, 57 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/twt_review.txt Wed Apr 30 16:12:05 2025 +0100 +++ b/twt_review.txt Thu May 01 11:35:23 2025 +0100 @@ -78,7 +78,7 @@ "represented as a JSON Object" -> 'represented as UTF-8 encoded "JSON text" as defined in RFC 8529' - e) Include RFC 8529 in the 13.1 + e) Include RFC 8529 in 13.1 Appendix B. @@ -108,19 +108,68 @@ In the first figure, construed as a "JSON text", the o-umlaut glyph denotes a single Unicode character in a six-character - object member's value. - - Construed as depicting a JSON object, the o-umlaut denotes a - single Unicode code-point (U+00F6), either in the abstract or in - some implementation-dependent internal representation, part of an - object member value. + representation of a six-character object member string value. However in the second figure, second alternative, the o-umlaut corresponds to a _two_-byte UTF-8 sub-part of the JSON encoding of that value as a seven-byte UTF-8 byte sequence, either in some internal representation or an external stream or file. - What to do? + What to do? First, add something similar to + https://www.ietf.org/archive/id/draft-bray-unichars-14.html#name-notation + Then, whenever presenting JSON, always indicate whether what is + being shown is JSON text or JSON-encoded text (i.e. UTF-8 encoded + JSON text). In JSON text, always include a version using the + U+xxxx notation whenever the underlying string contains non-ASCII + characters. In JSON-encoded text, _always_ use the %xnn notation + for non-ASCII characters. + + Some examples of a possible way of indicating JSON text and + JSON-encoded text, from section 4.2.1 + + Replace the first figure with these two: + + _________________________________________________________ + |*JT* | + | | + | ["_26bc4LT-ac6q2KI6cBW5es", "family_name", "Möbius"] | + | ^ | + | | | + | X+00F6 | + | | + |________________________________________________________| + + _______________________________________________________________ + |*J-ET* | + | | + | ["_26bc4LT-ac6q2KI6cBW5es", "family_name", "M%xc3%xb6bius"] | + | | + |_______________________________________________________________| + + and the first bullet of the three alternatives which follow with + + * A different way to encode the unicode o-umlaut: + + ______________________________________________________________ + |*JT* | + | | + | ["_26bc4LT-ac6q2KI6cBW5es", "family_name", "M\x00f6bius"] | + | | + |_____________________________________________________________| + + ______________________________________________________________ + |*J-ET* | + | | + | ["_26bc4LT-ac6q2KI6cBW5es", "family_name", "M\x00f6bius"] | + | | + |_____________________________________________________________| + + WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsICJmYW1pbHlfbmFtZSIsICJNX + HUwMGY2Yml1cyJd + + And throughout the examples in Appendix A, label the initial figure + with *JT* and the 'Content' boxes with *J-ET*. You don't need to + gloss every Chinese/German strings with their U+xxxx version. *Nits*
