001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018package org.apache.commons.compress.utils; 019 020/** 021 * Character encoding names required of every implementation of the Java platform. 022 * 023 * From the Java documentation <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Standard 024 * charsets</a>: 025 * <p> 026 * <cite>Every implementation of the Java platform is required to support the following character encodings. Consult the 027 * release documentation for your implementation to see if any other encodings are supported. Consult the release 028 * documentation for your implementation to see if any other encodings are supported. </cite> 029 * </p> 030 * 031 * <dl> 032 * <dt>{@code US-ASCII}</dt> 033 * <dd>Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character set.</dd> 034 * <dt>{@code ISO-8859-1}</dt> 035 * <dd>ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1.</dd> 036 * <dt>{@code UTF-8}</dt> 037 * <dd>Eight-bit Unicode Transformation Format.</dd> 038 * <dt>{@code UTF-16BE}</dt> 039 * <dd>Sixteen-bit Unicode Transformation Format, big-endian byte order.</dd> 040 * <dt>{@code UTF-16LE}</dt> 041 * <dd>Sixteen-bit Unicode Transformation Format, little-endian byte order.</dd> 042 * <dt>{@code UTF-16}</dt> 043 * <dd>Sixteen-bit Unicode Transformation Format, byte order specified by a mandatory initial byte-order mark (either order 044 * accepted on input, big-endian used on output.)</dd> 045 * </dl> 046 * 047 * <p>This perhaps would best belong in the [lang] project. Even if a similar interface is defined in [lang], it is not 048 * foreseen that [compress] would be made to depend on [lang].</p> 049 * 050 * @see <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Standard charsets</a> 051 * @since 1.4 052 */ 053public class CharsetNames { 054 /** 055 * CharEncodingISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1. 056 * <p> 057 * Every implementation of the Java platform is required to support this character encoding. 058 * </p> 059 * 060 * @see <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Standard charsets</a> 061 */ 062 public static final String ISO_8859_1 = "ISO-8859-1"; 063 064 /** 065 * <p> 066 * Seven-bit ASCII, also known as ISO646-US, also known as the Basic Latin block of the Unicode character set. 067 * </p> 068 * <p> 069 * Every implementation of the Java platform is required to support this character encoding. 070 * </p> 071 * 072 * @see <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Standard charsets</a> 073 */ 074 public static final String US_ASCII = "US-ASCII"; 075 076 /** 077 * <p> 078 * Sixteen-bit Unicode Transformation Format, The byte order specified by a mandatory initial byte-order mark 079 * (either order accepted on input, big-endian used on output) 080 * </p> 081 * <p> 082 * Every implementation of the Java platform is required to support this character encoding. 083 * </p> 084 * 085 * @see <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Standard charsets</a> 086 */ 087 public static final String UTF_16 = "UTF-16"; 088 089 /** 090 * <p> 091 * Sixteen-bit Unicode Transformation Format, big-endian byte order. 092 * </p> 093 * <p> 094 * Every implementation of the Java platform is required to support this character encoding. 095 * </p> 096 * 097 * @see <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Standard charsets</a> 098 */ 099 public static final String UTF_16BE = "UTF-16BE"; 100 101 /** 102 * <p> 103 * Sixteen-bit Unicode Transformation Format, little-endian byte order. 104 * </p> 105 * <p> 106 * Every implementation of the Java platform is required to support this character encoding. 107 * </p> 108 * 109 * @see <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Standard charsets</a> 110 */ 111 public static final String UTF_16LE = "UTF-16LE"; 112 113 /** 114 * <p> 115 * Eight-bit Unicode Transformation Format. 116 * </p> 117 * <p> 118 * Every implementation of the Java platform is required to support this character encoding. 119 * </p> 120 * 121 * @see <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Standard charsets</a> 122 */ 123 public static final String UTF_8 = "UTF-8"; 124}