BOM 머리 잘라 야 돼.
1762 단어 bom
텍스트 파일 의 헤더 표시:
00 00 FE FF
UTF-32, big-endian
FF FE 00 00
UTF-32, little-endian
FE FF
UTF-16, big-endian
FF FE
UTF-16, little-endian
EF BB BF
UTF-8
SAX 분석 에서 Content is not allowed in prolog. 이상 해결 방법:
public Reader getReader(InputStream is) throws IOException,
UnsupportedEncodingException {
PushbackInputStream pis = new PushbackInputStream(is, 1024);
String bomEncoding = getBOMEncoding(pis);
System.out.println(bomEncoding);
Reader input = null;
if (bomEncoding == null) {
input = new BufferedReader(new InputStreamReader(pis, "UTF8"));
}
else {
input = new BufferedReader(new InputStreamReader(pis, bomEncoding));
}
return input;
}
protected String getBOMEncoding(PushbackInputStream is) throws IOException {
String encoding = null;
int[] bytes = new int[3];
bytes[0] = is.read();
bytes[1] = is.read();
bytes[2] = is.read();
if (bytes[0] == 0xFE && bytes[1] == 0xFF) {
encoding = "UTF_16BE";
is.unread(bytes[2]);
}
else if (bytes[0] == 0xFF && bytes[1] == 0xFE) {
encoding = "UTF_16LE";
is.unread(bytes[2]);
}
else if (bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) {
encoding = "UTF8";
}
else {
for (int i = bytes.length - 1; i >= 0; i--) {
is.unread(bytes[i]);
}
}
return encoding;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
스프링 해결jar 가방 의존 bomBOM(bill of materials): 재료 목록,jar 패키지 의존을 해결하는 좋은 방법입니다. Spring IO Platform 기원: 스프링은 처음에 ioc와 aop에만 집중했지만 지금은 거대한 체계로 발전...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.