다음을 통해 공유


IContentHandler.Characters(Char[], Int32, Int32) 메서드

정의

문자 데이터의 알림을 받습니다.

[Android.Runtime.Register("characters", "([CII)V", "GetCharacters_arrayCIIHandler:Org.Xml.Sax.IContentHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void Characters (char[]? ch, int start, int length);
[<Android.Runtime.Register("characters", "([CII)V", "GetCharacters_arrayCIIHandler:Org.Xml.Sax.IContentHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Characters : char[] * int * int -> unit

매개 변수

ch
Char[]

XML 문서의 문자

start
Int32

배열의 시작 위치

length
Int32

배열에서 읽을 문자 수

특성

예외

다른 예외를 래핑할 수 있는 SAX 예외

설명

문자 데이터의 알림을 받습니다.

파서는 이 메서드를 호출하여 문자 데이터의 각 청크를 보고합니다. SAX 파서는 모든 연속 문자 데이터를 단일 청크로 반환하거나 여러 청크로 분할할 수 있습니다. 그러나 로케이터가 유용한 정보를 제공하려면 단일 이벤트의 모든 문자가 동일한 외부 엔터티에서 제공되어야 합니다.

애플리케이션이 지정된 범위를 벗어나는 배열에서 읽어도 안됩니다.

개별 문자는 둘 이상의 Java char 값으로 구성됩니다. 문자는 단 16비트로 나타낼 수 없으므로 이 문제가 발생하는 두 가지 중요한 경우가 있습니다. 한 경우 문자는 두 개의 특수 유니코드 값을 사용하여 em>서로게이트 쌍</em>으로 표시됩니다<. 이러한 문자는 U+FFFF 위의 코드 포인트와 함께 소위 "아스트랄 평면"에 있습니다. 두 번째 사례에는 하나 이상의 악센트 문자와 결합하는 기본 문자와 같은 복합 문자가 포함됩니다.

코드는 -at-a-Time 관용구를 사용하는 char알고리즘이 문자 단위에서 작동한다고 가정해서는 안 됩니다. 경우에 따라 문자가 분할됩니다. XML에서 특성 값, 처리 명령 데이터 및 주석과 같은 임의의 문자와 이 메서드에서 보고된 데이터를 허용하는 모든 경우에 관련이 있습니다. 또한 Java 코드가 국제화된 텍스트를 조작할 때마다 일반적으로 관련이 있습니다. 문제는 XML에 고유하지 않습니다.

일부 파서는 이 메서드가 아닌 메서드를 사용하여 #ignorableWhitespace ignorableWhitespace 요소 콘텐츠의 공백을 보고합니다(구문 분석기의 <>유효성을 검사해야 함</em>).

에 대한 org.xml.sax.ContentHandler.characters(char[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

추가 정보

  • <xref:Org.Xml.Sax.IContentHandler.IgnorableWhitespace(System.Char%5b%5d%2c+System.Int32%2c+System.Int32)>
  • ILocator