fix: String.getBytes(Charset) is not available for Java 5
diff --git a/src/main/java/org/yaml/snakeyaml/reader/UnicodeReader.java b/src/main/java/org/yaml/snakeyaml/reader/UnicodeReader.java
index 0931023..65bfc57 100644
--- a/src/main/java/org/yaml/snakeyaml/reader/UnicodeReader.java
+++ b/src/main/java/org/yaml/snakeyaml/reader/UnicodeReader.java
@@ -49,9 +49,9 @@
  * to be used. If BOM is not found then use a given default or system encoding.
  */
 public class UnicodeReader extends Reader {
-    public static final Charset UTF8 = Charset.forName("UTF-8");
-    public static final Charset UTF16BE = Charset.forName("UTF-16BE");
-    public static final Charset UTF16LE = Charset.forName("UTF-16LE");
+    private static final Charset UTF8 = Charset.forName("UTF-8");
+    private static final Charset UTF16BE = Charset.forName("UTF-16BE");
+    private static final Charset UTF16LE = Charset.forName("UTF-16LE");
 
     PushbackInputStream internalIn;
     InputStreamReader internalIn2 = null;
diff --git a/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java b/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
index 217c1d6..ea63fd3 100644
--- a/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
+++ b/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
@@ -15,6 +15,7 @@
  */
 package org.yaml.snakeyaml.representer;
 
+import java.io.UnsupportedEncodingException;
 import java.math.BigInteger;
 import java.util.Arrays;
 import java.util.Calendar;
@@ -28,10 +29,10 @@
 import java.util.TimeZone;
 import java.util.regex.Pattern;
 
+import org.yaml.snakeyaml.error.YAMLException;
 import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
 import org.yaml.snakeyaml.nodes.Node;
 import org.yaml.snakeyaml.nodes.Tag;
-import org.yaml.snakeyaml.reader.UnicodeReader;
 
 /**
  * Represent standard Java classes
@@ -116,7 +117,11 @@
             if (BINARY_PATTERN.matcher(value).find()) {
                 tag = Tag.BINARY;
                 char[] binary;
-                binary = Base64Coder.encode(value.getBytes(UnicodeReader.UTF8));
+                try {
+                    binary = Base64Coder.encode(value.getBytes("UTF-8"));
+                } catch (UnsupportedEncodingException e) {
+                    throw new YAMLException(e);
+                }
                 value = String.valueOf(binary);
                 style = '|';
             }
diff --git a/src/test/java/biz/source_code/base64Coder/Base64CoderTest.java b/src/test/java/biz/source_code/base64Coder/Base64CoderTest.java
index 9d16b74..dc937dc 100644
--- a/src/test/java/biz/source_code/base64Coder/Base64CoderTest.java
+++ b/src/test/java/biz/source_code/base64Coder/Base64CoderTest.java
@@ -20,7 +20,6 @@
 import junit.framework.TestCase;
 
 import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
-import org.yaml.snakeyaml.reader.UnicodeReader;
 
 public class Base64CoderTest extends TestCase {
 
@@ -64,7 +63,7 @@
     }
 
     private void check(String text, String encoded) throws UnsupportedEncodingException {
-        char[] s1 = Base64Coder.encode(text.getBytes(UnicodeReader.UTF8));
+        char[] s1 = Base64Coder.encode(text.getBytes("UTF-8"));
         String t1 = new String(s1);
         assertEquals(encoded, t1);
         byte[] s2 = Base64Coder.decode(encoded.toCharArray());
diff --git a/src/test/java/examples/LoadExampleTest.java b/src/test/java/examples/LoadExampleTest.java
index 3df5a0e..dc67d91 100644
--- a/src/test/java/examples/LoadExampleTest.java
+++ b/src/test/java/examples/LoadExampleTest.java
@@ -26,7 +26,6 @@
 import junit.framework.TestCase;
 
 import org.yaml.snakeyaml.Yaml;
-import org.yaml.snakeyaml.reader.UnicodeReader;
 
 public class LoadExampleTest extends TestCase {
     @SuppressWarnings("unchecked")
@@ -52,7 +51,7 @@
         Object data = yaml.load(input);
         assertEquals("test", data);
         //
-        data = yaml.load(new ByteArrayInputStream("test2".getBytes(UnicodeReader.UTF8)));
+        data = yaml.load(new ByteArrayInputStream("test2".getBytes("UTF-8")));
         assertEquals("test2", data);
         input.close();
     }
diff --git a/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java b/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
index cb0b13f..681d3ed 100644
--- a/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
+++ b/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
@@ -19,6 +19,7 @@
 import java.io.InputStream;
 import java.io.Reader;
 import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -26,7 +27,6 @@
 
 import org.yaml.snakeyaml.constructor.Constructor;
 import org.yaml.snakeyaml.introspector.BeanAccess;
-import org.yaml.snakeyaml.reader.UnicodeReader;
 
 public class JavaBeanLoaderTest extends TestCase {
 
@@ -49,9 +49,9 @@
         assertFalse(parsed2.isValid());
     }
 
-    public void testLoadInputStream() {
+    public void testLoadInputStream() throws UnsupportedEncodingException {
         String yaml = "!!org.yaml.snakeyaml.JavaBeanParserTest$Bean {id: 3, name: Test me.}\n";
-        InputStream input = new ByteArrayInputStream(yaml.getBytes(UnicodeReader.UTF8));
+        InputStream input = new ByteArrayInputStream(yaml.getBytes("UTF-8"));
         Yaml loader = new Yaml();
         Bean parsed = loader.loadAs(input, Bean.class);
         assertEquals(3, parsed.getId());