== Why is this an issue? JDK7 introduced the class ``++java.nio.charset.StandardCharsets++``. It provides constants for all charsets that are guaranteed to be available on every implementation of the Java platform. * ISO_8859_1 * US_ASCII * UTF_16 * UTF_16BE * UTF_16LE * UTF_8 These constants should be preferred to: * the use of a String such as "UTF-8" which has the drawback of requiring the ``++catch++``/``++throw++`` of an ``++UnsupportedEncodingException++`` that will never actually happen * the use of Guava’s ``++Charsets++`` class, which has been obsolete since JDK7 === Noncompliant code example [source,java] ---- try { byte[] bytes = string.getBytes("UTF-8"); // Noncompliant; use a String instead of StandardCharsets.UTF_8 } catch (UnsupportedEncodingException e) { throw new AssertionError(e); } // ... byte[] bytes = string.getBytes(Charsets.UTF_8); // Noncompliant; Guava way obsolete since JDK7 ---- === Compliant solution [source,java] ---- byte[] bytes = string.getBytes(StandardCharsets.UTF_8) ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Replace XXX with StandardCharsets.XXX ''' == Comments And Links (visible only on this page) === on 10 Jul 2018, 21:46:38 Ann Campbell wrote: \[~alexandre.gigleux] I suggest you drop the phrase "unless the JVM violates the JDK specifications" === on 11 Jul 2018, 08:20:29 Alexandre Gigleux wrote: \[~ann.campbell.2]: Done endif::env-github,rspecator-view[]