Luckily, all that low-level stuff has been dealt with in class
java.lang.Character, so your default implementation could be re-written as:
public Appendable appendCodePoint(int c) throws IOException default {
return append(new String(Character.toChars(c));
}