相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
You're looking for U+10035, which is outside the Basic Multilingual Plane. That means you can't use
\u
to specify the value, as that only deals with U+0000 to U+FFFF - there are always exactly four hex digits after\u
. So currently you've got U+1003 ("MYANMAR LETTER GHA") followed by '5'.Unfortunately Java doesn't provide a string literal form which makes characters outside the BMP simple to express. The only way of including it in a literal (but still in ASCII) is to use the UTF-16 surrogate pair form:
Alternatively, you could use the 32-bit code point form as an
int
:(These two strings are equal.)
Having said all that, your console would still need to support that character - you'll need to try it to find out whether or not it does.
0x10035 is a supplemental Unicode character. You'll need to font that supports it if you want your program to render it.
http://www.oracle.com/technetwork/articles/javase/supplementary-142654.html
I believe Java represents Unicode characters from
0x0000
to0xFFFF
. Java would evaluate"\u10035"
to whatever"\u1003"
is and a 5 after that.Unicode escapes are 4 characters long. You are printing \u1003 followed by '5'. Are you sure you have the right code point?