Java tutorial
//package com.java2s; /* * Copyright (c) Mirth Corporation. All rights reserved. * http://www.mirthcorp.com * * The software in this package is published under the terms of the MPL * license a copy of which has been included with this distribution in * the LICENSE.txt file. */ import java.util.Hashtable; public class Main { private static final Hashtable<String, String> decoder = new Hashtable<String, String>(300); private static final Hashtable<String, String> decoderXml = new Hashtable<String, String>(10); private static final String[] encoder = new String[0x100]; private static final String[] encoderXml = new String[0x100]; private static void addEntities() { addEntity(" ", 160); addEntity("¡", 161); addEntity("¢", 162); addEntity("£", 163); addEntity("¤", 164); addEntity("¥", 165); addEntity("¦", 166); addEntity("§", 167); addEntity("¨", 168); addEntity("©", 169); addEntity("ª", 170); addEntity("«", 171); addEntity("¬", 172); addEntity("­", 173); addEntity("®", 174); addEntity("¯", 175); addEntity("°", 176); addEntity("±", 177); addEntity("²", 178); addEntity("³", 179); addEntity("´", 180); addEntity("µ", 181); addEntity("¶", 182); addEntity("·", 183); addEntity("¸", 184); addEntity("¹", 185); addEntity("º", 186); addEntity("»", 187); addEntity("¼", 188); addEntity("½", 189); addEntity("¾", 190); addEntity("¿", 191); addEntity("À", 192); addEntity("Á", 193); addEntity("Â", 194); addEntity("Ã", 195); addEntity("Ä", 196); addEntity("Å", 197); addEntity("Æ", 198); addEntity("Ç", 199); addEntity("È", 200); addEntity("É", 201); addEntity("Ê", 202); addEntity("Ë", 203); addEntity("Ì", 204); addEntity("Í", 205); addEntity("Î", 206); addEntity("Ï", 207); addEntity("Ð", 208); addEntity("Ñ", 209); addEntity("Ò", 210); addEntity("Ó", 211); addEntity("Ô", 212); addEntity("Õ", 213); addEntity("Ö", 214); addEntity("×", 215); addEntity("Ø", 216); addEntity("Ù", 217); addEntity("Ú", 218); addEntity("Û", 219); addEntity("Ü", 220); addEntity("Ý", 221); addEntity("Þ", 222); addEntity("ß", 223); addEntity("à", 224); addEntity("á", 225); addEntity("â", 226); addEntity("ã", 227); addEntity("ä", 228); addEntity("å", 229); addEntity("æ", 230); addEntity("ç", 231); addEntity("è", 232); addEntity("é", 233); addEntity("ê", 234); addEntity("ë", 235); addEntity("ì", 236); addEntity("í", 237); addEntity("î", 238); addEntity("ï", 239); addEntity("ð", 240); addEntity("ñ", 241); addEntity("ò", 242); addEntity("ó", 243); addEntity("ô", 244); addEntity("õ", 245); addEntity("ö", 246); addEntity("÷", 247); addEntity("ø", 248); addEntity("ù", 249); addEntity("ú", 250); addEntity("û", 251); addEntity("ü", 252); addEntity("ý", 253); addEntity("þ", 254); addEntity("ÿ", 255); addEntity("&fnof", 402); addEntity("&Alpha", 913); addEntity("&Beta", 914); addEntity("&Gamma", 915); addEntity("&Delta", 916); addEntity("&Epsilon", 917); addEntity("&Zeta", 918); addEntity("&Eta", 919); addEntity("&Theta", 920); addEntity("&Iota", 921); addEntity("&Kappa", 922); addEntity("&Lambda", 923); addEntity("&Mu", 924); addEntity("&Nu", 925); addEntity("&Xi", 926); addEntity("&Omicron", 927); addEntity("&Pi", 928); addEntity("&Rho", 929); addEntity("&Sigma", 931); addEntity("&Tau", 932); addEntity("&Upsilon", 933); addEntity("&Phi", 934); addEntity("&Chi", 935); addEntity("&Psi", 936); addEntity("&Omega", 937); addEntity("&alpha", 945); addEntity("&beta", 946); addEntity("&gamma", 947); addEntity("&delta", 948); addEntity("&epsilon", 949); addEntity("&zeta", 950); addEntity("&eta", 951); addEntity("&theta", 952); addEntity("&iota", 953); addEntity("&kappa", 954); addEntity("&lambda", 955); addEntity("&mu", 956); addEntity("&nu", 957); addEntity("&xi", 958); addEntity("&omicron", 959); addEntity("&pi", 960); addEntity("&rho", 961); addEntity("&sigmaf", 962); addEntity("&sigma", 963); addEntity("&tau", 964); addEntity("&upsilon", 965); addEntity("&phi", 966); addEntity("&chi", 967); addEntity("&psi", 968); addEntity("&omega", 969); addEntity("&thetasym", 977); addEntity("&upsih", 978); addEntity("&piv", 982); addEntity("&bull", 8226); addEntity("&hellip", 8230); addEntity("&prime", 8242); addEntity("&Prime", 8243); addEntity("&oline", 8254); addEntity("&frasl", 8260); addEntity("&weierp", 8472); addEntity("&image", 8465); addEntity("&real", 8476); addEntity("&trade", 8482); addEntity("&alefsym", 8501); addEntity("&larr", 8592); addEntity("&uarr", 8593); addEntity("&rarr", 8594); addEntity("&darr", 8595); addEntity("&harr", 8596); addEntity("&crarr", 8629); addEntity("&lArr", 8656); addEntity("&uArr", 8657); addEntity("&rArr", 8658); addEntity("&dArr", 8659); addEntity("&hArr", 8660); addEntity("&forall", 8704); addEntity("&part", 8706); addEntity("&exist", 8707); addEntity("&empty", 8709); addEntity("&nabla", 8711); addEntity("&isin", 8712); addEntity("¬in", 8713); addEntity("&ni", 8715); addEntity("&prod", 8719); addEntity("&sum", 8721); addEntity("&minus", 8722); addEntity("&lowast", 8727); addEntity("&radic", 8730); addEntity("&prop", 8733); addEntity("&infin", 8734); addEntity("&ang", 8736); addEntity("&and", 8743); addEntity("&or", 8744); addEntity("&cap", 8745); addEntity("&cup", 8746); addEntity("&int", 8747); addEntity("&there4", 8756); addEntity("&sim", 8764); addEntity("&cong", 8773); addEntity("&asymp", 8776); addEntity("&ne", 8800); addEntity("&equiv", 8801); addEntity("&le", 8804); addEntity("&ge", 8805); addEntity("&sub", 8834); addEntity("&sup", 8835); addEntity("&nsub", 8836); addEntity("&sube", 8838); addEntity("&supe", 8839); addEntity("&oplus", 8853); addEntity("&otimes", 8855); addEntity("&perp", 8869); addEntity("&sdot", 8901); addEntity("&lceil", 8968); addEntity("&rceil", 8969); addEntity("&lfloor", 8970); addEntity("&rfloor", 8971); addEntity("&lang", 9001); addEntity("&rang", 9002); addEntity("&loz", 9674); addEntity("&spades", 9824); addEntity("&clubs", 9827); addEntity("&hearts", 9829); addEntity("&diams", 9830); addEntity(""", 34); addEntity("&", 38); // add("&apos",39); addEntity("<", 60); addEntity(">", 62); addEntity("&OElig", 338); addEntity("&oelig", 339); addEntity("&Scaron", 352); addEntity("&scaron", 353); addEntity("&Yuml", 376); addEntity("&circ", 710); addEntity("&tilde", 732); addEntity("&ensp", 8194); addEntity("&emsp", 8195); addEntity("&thinsp", 8201); addEntity("&zwnj", 8204); addEntity("&zwj", 8205); addEntity("&lrm", 8206); addEntity("&rlm", 8207); addEntity("&ndash", 8211); addEntity("&mdash", 8212); addEntity("&lsquo", 8216); addEntity("&rsquo", 8217); addEntity("&sbquo", 8218); addEntity("&ldquo", 8220); addEntity("&rdquo", 8221); addEntity("&bdquo", 8222); addEntity("&dagger", 8224); addEntity("&Dagger", 8225); addEntity("&permil", 8240); addEntity("&lsaquo", 8249); addEntity("&rsaquo", 8250); addEntity("&euro", 8364); // XML predefined entities addXmlEntity("<", 60); addXmlEntity(">", 62); addXmlEntity("&apos", 39); addXmlEntity("&", 38); addXmlEntity(""", 34); addXmlEntity("
", 10); addXmlEntity("
", 13); } private static void addEntity(String entity, int value) { decoder.put(entity, (new Character((char) value)).toString()); if (value < 0x100) encoder[value] = entity; } private static void addXmlEntity(String entity, int value) { decoderXml.put(entity, (new Character((char) value)).toString()); if (value < 0x100) encoderXml[value] = entity; } }