Getting Started With Google Guava--Basic Guava Utilities

Charsets

在Java语言中,java每个版本中都支持六种标准的字符编码。

  byte[] bytes = someString.getBytes();

在上述的代码中其实有个问题,因为没有指定字符编码,其会返回得到一个操作系统默认编码格式的字节数组。如果你的someString的编码不是系统默认的编码格式,有时候会出现问题,考虑下面的方式:

   try{
       bytes = "foobarbaz".getBytes("UTF-8");
   }catch (UnsupportedEncodingException e){
       //This really can't happen UTF-8 must be supported
   } 

但是上面的代码仍有两个问题:
第一个:UTF-8肯定是Java平台支持的,所以UnsupportedEncodingException异常永远都不会抛出;
第二个:因为指定的编码格式是手写指定的编码,可能会写错,导致出现异常。

这时候Google Guava中的Charsets类就派上用途了。Charsets类中提供了六种标准字符编码的静态引用,例如,上面的代码可以改为:

  byte[] bytes2 = "foobarbaz".getBytes(Charsets.UTF_8);

注意:在JDK 7上,java默认提供了StandardCharsets类来提供六种标准字符编码的静态引用。

你可能感兴趣的:(Getting Started With Google Guava--Basic Guava Utilities)