Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detect Unicode encoding for GSON library #6

Open
GoogleCodeExporter opened this issue Apr 9, 2015 · 2 comments
Open

Detect Unicode encoding for GSON library #6

GoogleCodeExporter opened this issue Apr 9, 2015 · 2 comments

Comments

@GoogleCodeExporter
Copy link

External references, such as a standards document, or specification?

http://blog.publicobject.com/2010/08/handling-byte-order-mark-in-java.html

copied here (in case that blog goes away):

  public Reader inputStreamToReader(InputStream in) throws IOException {
    in.mark(3);
    int byte1 = in.read();
    int byte2 = in.read();
    if (byte1 == 0xFF && byte2 == 0xFE) {
      return new InputStreamReader(in, "UTF-16LE");
    } else if (byte1 == 0xFF && byte2 == 0xFF) {
      return new InputStreamReader(in, "UTF-16BE");
    } else {
      int byte3 = in.read();
      if (byte1 == 0xEF && byte2 == 0xBB && byte3 == 0xBF) {
        return new InputStreamReader(in, "UTF-8");
      } else {
        in.reset();
        return new InputStreamReader(in);
      }
    }
  }

Java environments (e.g. Java 6, Android 2.3, App Engine 1.4.3, or All)?

All.

Please describe the feature requested.

Currently the GSON library implementation only supports UTF-8.  The algorithm 
above could potentially be used for supporting the other 3 Unicode encodings 
supported by the JSON specifications.

Original issue reported on code.google.com by yan...@google.com on 11 May 2011 at 6:05

@GoogleCodeExporter
Copy link
Author

Issue 12 has been merged into this issue.

Original comment by yan...@google.com on 8 Jun 2011 at 9:30

@GoogleCodeExporter
Copy link
Author

More references on the topic:

http://tools.ietf.org/html/rfc4627#section-3
http://unicode.org/faq/utf_bom.html#BOM
http://en.wikipedia.org/wiki/Byte_order_mark

Original comment by yan...@google.com on 31 May 2012 at 1:57

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant