Share via


Charset 클래스

정의

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

[Android.Runtime.Register("java/nio/charset/Charset", DoNotGenerateAcw=true)]
public abstract class Charset : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IComparable
[<Android.Runtime.Register("java/nio/charset/Charset", DoNotGenerateAcw=true)>]
type Charset = class
    inherit Object
    interface IComparable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
상속
Charset
특성
구현

설명

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다. 이 클래스는 디코더 및 인코더를 만들고 charset과 연결된 다양한 이름을 검색하는 메서드를 정의합니다. 이 클래스의 인스턴스는 변경할 수 없습니다.

또한 이 클래스는 특정 charset이 지원되는지 여부를 테스트하고, 이름으로 charset 인스턴스를 찾고, 현재 Java 가상 머신에서 지원을 사용할 수 있는 모든 charset이 포함된 맵을 생성하기 위한 정적 메서드를 정의합니다. 클래스에 정의된 서비스 공급자 인터페이스를 통해 새 문자 집합에 java.nio.charset.spi.CharsetProvider 대한 지원을 추가할 수 있습니다.

이 클래스에 정의된 모든 메서드는 여러 동시 스레드에서 사용하기에 안전합니다.

"charenc"><h2>Charset names</h2>

문자 집합의 이름은 다음 문자로 구성된 문자열로 지정됩니다.

<ul>

<li> ( 'A''Z''&#92;u0041'  '&#92;u005a')를 통해

<'&#92;u0061''a''z' li> (  '&#92;u007a')를 통해

<li> 을 통한 '0''9' 숫자('&#92;u0030'  '&#92;u0039')를 통해

<li> 대시 문자 '-' ('&#92;u002d', <small>HYPHEN-MINUS</small>),

<li> 더하기 문자 '+' ('&#92;u002b', <small>PLUS SIGN</small>),

<li> 마침표 문자 '.' ('&#92;u002e', <small>FULL STOP</small>),

<li> 콜론 문자 ':' ('&#92;u003a', <small>COLON</small>) 및

<li> 밑줄 문자 '_' ('&#92;u005f', <작은>LOW  LINE</small>).

</ul>

문자 집합 이름은 문자 또는 숫자로 시작해야 합니다. 빈 문자열은 유효한 문자 집합 이름이 아닙니다. 문자 집합 이름은 대/소문자를 구분하지 않습니다. 즉, 문자 집합 이름을 비교할 때 대/소문자를 항상 무시합니다. Charset 이름은 일반적으로 RFC 에 설명된 규칙을 따릅니다. 2278:  IANA 문자 집합 등록 절차.http://www.ietf.org/rfc/rfc2278.txt

모든 문자 집합에는 정식 이름이 있으며 하나 이상의 별칭이 있을 수도 있습니다. 정식 이름은 이 클래스의 메서드에 #name() name 의해 반환됩니다. 정식 이름은 규칙에 따라 일반적으로 대문자로 표시됩니다. 문자 집합의 별칭은 메서드에서 #aliases() aliases 반환됩니다.

"hn">일부 문자 집합에는 <이전 버전의 Java 플랫폼과의 호환성을 위해 정의된 i>기록 이름</i> 가 있습니다. charset의 기록 이름은 정식 이름 또는 별칭 중 하나입니다. 기록 이름은 및 java.io.OutputStreamWriter#getEncoding OutputStreamWriter 클래스의 getEncoding() 메서드에 java.io.InputStreamReader#getEncoding InputStreamReader 의해 반환됩니다.

"iana">IANA Charset 레지스트리http://www.iana.org/assignments/character-sets 에 나열된 문자 집합이 Java 플랫폼의 구현에서 지원되는 경우 해당 정식 이름은 레지스트리에 나열된 이름이어야 합니다. 많은 문자 집합이 레지스트리에 둘 이상의 이름이 지정됩니다. 이 경우 레지스트리는 이름 중 하나를 MIME 기본 설정으로 식별합니다. charset에 둘 이상의 레지스트리 이름이 있는 경우 해당 정식 이름은 MIME 기본 설정 이름이어야 하며 레지스트리의 다른 이름은 유효한 별칭이어야 합니다. 지원되는 문자 집합이 IANA 레지스트리에 나열되지 않은 경우 해당 정식 이름은 또는 "x-"문자열 "X-" 중 하나로 시작해야 합니다.

IANA 문자 집합 레지스트리는 시간이 지남에 따라 변경되므로 특정 문자 집합의 정식 이름과 별칭도 시간이 지남에 따라 변경 될 수 있습니다. 호환성을 보장하려면 문자 집합에서 별칭을 제거하지 않고 문자 집합의 정식 이름이 변경되면 이전 정식 이름을 별칭으로 만드는 것이 좋습니다.

<h2>표준 문자 집합</h2>

"standard">Java 플랫폼의 모든 구현은 다음 표준 문자 집합을 지원하는 데 필요합니다. 구현에 대한 릴리스 설명서를 참조하여 다른 문자 집합이 지원되는지 확인합니다. 이러한 선택적 문자 집합의 동작은 구현 간에 다를 수 있습니다.

<blockquote><table class="스트라이프" style="width:80%"<>캡션 style="display:none">표준 charsets</캡션<>thead><tr><th scope="col" style="text-align:left">Charset</th><th scope="col" style="text-align:left">Description</th></tr/thead><tbody><tr><><th scope="row" style="vertical-align:top"<US-ASCII>/th<>td>Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. 유니코드 문자 집합</td></tr tr tr<>><th scope="row" style="vertical-align:top"ISO-8859-1&nbsp;&nbsp;<>/th><td>ISO Latin Alphabet No. 1, a.k.k.a. ISO-LATIN-1</td></tr tr><<>th scope="row" style="vertical-align:top"><UTF-8/th<>td>8비트 UCS 변환 형식</td></tr tr><><th scope="row" style="vertical-align:top"<UTF-16BE>/th><td>Sixteen-bit UCS 변환 형식, big-endian byte  order</td></tr tr><><th scope="row" style="vertical-align:top"><UTF-16LE/th><td>Sixteen-bit UCS 변환 형식, little-endian 바이트  order</td></tr tr><><th scope="row" style="vertical-align:top"><UTF-16/th><td>Sixteen-bit UCS 변환 형식, 바이트  선택적 바이트 순서 표시/td></tr<>/tbody></table></blockquote로 식별되는 순서<>

문자 집합은 UTF-8rfC 로 지정됩니다. 2279http://www.ietf.org/rfc/rfc2279.txt; 기반이 되는 변환 형식은 수정 에 지정됩니다. ISO  중 2개; 10646-1 및 는 유니코드 표준에도 설명되어 있습니다http://www.unicode.org/unicode/standard/standard.html.

문자 집합은 UTF-16RFC 로 지정됩니다. 2781http://www.ietf.org/rfc/rfc2781.txt; 해당 형식의 기반이 되는 변환 형식은 수정 에 지정됩니다. ISO  중 1개; 10646-1 및 는 유니코드 표준http://www.unicode.org/unicode/standard/standard.html에도 설명되어 있습니다.

문자 집합은 UTF-16 16비트 수량을 사용하므로 바이트 순서에 민감합니다. 이러한 인코딩에서 스트림의 바이트 순서는 유니코드 문자 '&#92;uFEFF'로 표시되는 초기 바이트 순서 표시로 표시될 수 있습니다. 바이트 순서 표시는 다음과 같이 처리됩니다.

<ul>

<리튬>

디코딩할 UTF-16BE 때 및 UTF-16LE 문자 집합은 초기 바이트 순서 표시를 작은>0-WIDTH 호환성이 손상되지 않는 공간/작은> 값<으로 <해석합니다. 인코딩할 때 바이트 순서 표시를 작성하지 않습니다.

</리튬>

<리튬>

디코딩 UTF-16 할 때 문자 집합은 입력 스트림의 시작 부분에 있는 바이트 순서 표시를 해석하여 스트림의 바이트 순서를 나타내지만 바이트 순서 표시가 없는 경우 기본적으로 big-endian으로 설정됩니다. 인코딩할 때는 big-endian 바이트 순서를 사용하고 big-endian 바이트 순서 표시를 씁니다.

</리튬>

</ul>

어떤 경우든 입력 시퀀스의 첫 번째 요소 이후에 발생하는 바이트 순서 표시는 동일한 코드가 작은>0-WIDTH 비 호환성이 손상되지 않는 공간</작은> 값을 나타내는 <데 사용되므로 생략되지 않습니다.

Android 참고: Android 플랫폼 기본값은 항상 UTF-8입니다.

클래스는 StandardCharsets 각 표준 문자 집합에 대한 상수를 정의합니다.

<h2>용어</h2>

이 클래스의 이름은 RFC 에 사용되는 용어에서 가져옵니다. 2278http://www.ietf.org/rfc/rfc2278.txt. 해당 문서에서 문자 집합 은 하나 이상의 코딩된 문자 집합과 문자 인코딩 구성표의 조합으로 정의됩니다. (이 정의는 혼란스럽습니다. 일부 다른 소프트웨어 시스템은 문자 집합코딩된 문자 집합의 동의어로 정의합니다.)

코딩된 문자 집합은 추상 문자 집합과 정수 집합 간의 매핑입니다. US-ASCII, ISO  8859-1, JIS  X  0201 및 유니코드는 코딩된 문자 집합의 예입니다.

일부 표준에서는 문자 집합 을 연결된 할당된 번호 매기기 없이 단순히 추상 문자 집합으로 정의했습니다. 알파벳은 이러한 문자 집합의 예입니다. 그러나 문자 집합코딩된 문자 집합 간의 미묘한 구분은 실제로 거의 사용되지 않습니다. 전자는 Java API 사양을 포함하여 후자에 대한 짧은 형식이 되었습니다.

문자 인코딩 구성표는 하나 이상의 코딩된 문자 집합과 8비트 바이트 시퀀스 집합 간의 매핑입니다. UTF-8, UTF-16, ISO  2022 및 EUC는 문자 인코딩 체계의 예입니다. 인코딩 체계는 종종 특정 코딩된 문자 집합과 연결됩니다. 예를 들어 UTF-8은 유니코드를 인코딩하는 데만 사용됩니다. 그러나 일부 체계는 여러 코딩된 문자 집합과 연결됩니다. 예를 들어 EUC를 사용하여 다양한 아시아어로 코딩된 문자 집합의 문자를 인코딩할 수 있습니다.

코딩된 문자 집합을 단일 문자 인코딩 스키마와 함께 단독으로 사용하는 경우 해당 문자 집합의 이름은 일반적으로 코딩된 문자 집합의 이름이 지정됩니다. 그렇지 않으면 문자 집합은 일반적으로 인코딩 스키마의 이름이 지정되며, 지원되는 코딩된 문자 집합의 로캘일 수 있습니다. 따라서 US-ASCII 는 코딩된 문자 집합의 이름과 인코딩하는 문자 집합의 이름이고 EUC-JP 는 JIS 를 인코딩하는 문자 집합의 이름입니다. X  0201, JIS  X  0208 및 JIS  X  일본어에 대한 0212 코딩된 문자 집합입니다.

Java 프로그래밍 언어의 네이티브 문자 인코딩은 UTF-16입니다. 따라서 Java 플랫폼의 문자 집합은 16비트 UTF-16 코드 단위 시퀀스(즉, chars 시퀀스)와 바이트 시퀀스 간의 매핑을 정의합니다.

1.4에 추가되었습니다.

에 대한 Java 설명서입니다 java.nio.charset.Charset.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

Charset(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

Charset(String, String[])

지정된 정식 이름 및 별칭이 설정된 새 문자 집합을 초기화합니다.

속성

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
IsRegistered

이 문자 집합이 IANA Charset 레지스트리에 등록되었는지 여부를 알려줍니다.

JniIdentityHashCode

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
JniPeerMembers

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

PeerReference

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

Aliases()

이 문자 집합의 별칭을 포함하는 집합을 반환합니다.

AvailableCharsets()

정식 문자 집합 이름에서 charset 개체로 정렬된 맵을 생성합니다.

CanEncode()

이 문자 집합이 인코딩을 지원하는지 여부를 알려줍니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
CompareTo(Charset)

이 문자 집합을 다른 문자 집합과 비교합니다.

Contains(Charset)

이 문자 집합에 지정된 문자 집합이 포함되어 있는지 여부를 알려줍니다.

Decode(ByteBuffer)

이 문자 집합의 바이트를 유니코드 문자로 디코딩하는 편의 메서드입니다.

DefaultCharset()

이 Java 가상 머신의 기본 문자 집합을 반환합니다.

DisplayName()

기본 로캘에 대해 사람이 읽을 수 있는 이 문자 집합의 이름을 반환합니다.

DisplayName(Locale)

지정된 로캘에 대해 사람이 읽을 수 있는 이 문자 집합의 이름을 반환합니다.

Dispose()

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
Encode(CharBuffer)

이 문자 집합에서 유니코드 문자를 바이트로 인코딩하는 편의 메서드입니다.

Encode(String)

문자열을 이 문자 집합의 바이트로 인코딩하는 편의 메서드입니다.

Equals(Object)

이 개체가 다른 개체와 같은지 여부를 알려줍니다.

ForName(String)

명명된 charset에 대한 charset 개체를 반환합니다.

GetHashCode()

이 문자 집합에 대한 해시 코드를 계산합니다.

IsSupported(String)

명명된 문자 집합이 지원되는지 여부를 알려줍니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Name()

이 문자 집합의 정식 이름을 반환합니다.

NewDecoder()

이 문자 집합에 대한 새 디코더를 생성합니다.

NewEncoder()

이 문자 집합에 대한 새 인코더를 생성합니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
ToString()

이 문자 집합을 설명하는 문자열을 반환합니다.

UnregisterFromRuntime()

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IComparable.CompareTo(Object)

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

IJavaPeerable.Disposed()

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

GetJniTypeName(IJavaPeerable)

16비트 유니코드 코드 단위 시퀀스와 바이트 시퀀스 간의 명명된 매핑입니다.

적용 대상