→ 2010 Unicode 6.0, 722 characters
→ 2011 iOS 5 released
→ 2013 Android 4.3 released
Slide 10
Slide 10 text
!
word of the year 2015
Oxford Dictionaries
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
!
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
Unicode is everywhere
Slide 15
Slide 15 text
Unicode is everywhere
== emojis are everywhere
Slide 16
Slide 16 text
Unicode is everywhere
https://en.wikipedia.org/wiki/!
Slide 17
Slide 17 text
Unicode is everywhere
https://en.wikipedia.org/wiki/!
Slide 18
Slide 18 text
Unicode is everywhere
$ git checkout -b !
Switched to a new branch '!'
Slide 19
Slide 19 text
Unicode is everywhere
$ git checkout -b !
Switched to a new branch '!'
$ git checkout -b "
Switched to a new branch '"'
Slide 20
Slide 20 text
Unicode is everywhere
$ git checkout -b !
Switched to a new branch '!'
$ git checkout -b "
Switched to a new branch '"'
$ git branch -l
madis/fix-filescan-race
master
release-1.x
* "
!
UTF-16 Surrogate Pairs
→ Take care with string operations, especially with
length() and substring(...)
→ StringBuilder.reverse actually works
Slide 36
Slide 36 text
UTF-16 Surrogate Pairs
static int length(String s) {
int len = 0;
for (char c : s.toCharArray()) {
// count surrogate pairs once
len += Character.isLowSurrogate(c) ? 0 : 1;
}
return len;
}