This repository has been archived by the owner on Feb 15, 2024. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds full UTF-8 support both on input and output.
Input: read and validate full UTF-8, both Basic Multilingual Plane and extended characters.
Collate surrogate pairs as specified in RFC4627.
This ensures that UTF-8 strings that reach the application are always valid, and that invalid UTF-8 fails parsing.
Output: Assume UTF-8 strings provided for output are valid.
The escaping was broken, fix this by not encoding UTF-8 characters with \u.
Writing them to the output stream as-is is the right thing to do.
See https://www.ietf.org/rfc/rfc4627.txt:
Also add tests for the new functionality.
Fixes #16.
Sister PR in the bitcoin core repository, with examples: Add full UTF-8 support to RPC #7892