25 March 2022

Java 18: UTF-8 by default

Java 18 was released this week.

These is a simple web server (for educational purposes) that comes with this release, but the most important change is that Java will use UTF-8 format for I/O by default, except for console I/O.

Up until now Java would use the OS default for IO. In windows in Europe you would write files using windows1252 encoding: a one byte format that extends ascii (it can represent twice the number of characters). Of course there are plenty of ways to fall back to the system default. Still I expect many users to be caught by surprise when java does not play nice with programs expecting ASCII any more.

No comments:

Post a Comment