本文整理了Java中java.nio.charset.CoderResult.unmappableForLength()
方法的一些代码示例,展示了CoderResult.unmappableForLength()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。CoderResult.unmappableForLength()
方法的具体详情如下:
包路径:java.nio.charset.CoderResult
类名称:CoderResult
方法名:unmappableForLength
[英]Gets a CoderResult
object indicating an unmappable character error.
[中]获取指示不可映射字符错误的CoderResult
对象。
代码示例来源:origin: robovm/robovm
@Override protected CoderResult decodeLoop(ByteBuffer in, CharBuffer out) {
if (!in.hasRemaining()) {
return CoderResult.UNDERFLOW;
}
data[INPUT_OFFSET] = getArray(in);
data[OUTPUT_OFFSET]= getArray(out);
try {
int error = NativeConverter.decode(converterHandle, input, inEnd, output, outEnd, data, false);
if (ICU.U_FAILURE(error)) {
if (error == ICU.U_BUFFER_OVERFLOW_ERROR) {
return CoderResult.OVERFLOW;
} else if (error == ICU.U_INVALID_CHAR_FOUND) {
return CoderResult.unmappableForLength(data[INVALID_BYTES]);
} else if (error == ICU.U_ILLEGAL_CHAR_FOUND) {
return CoderResult.malformedForLength(data[INVALID_BYTES]);
} else {
throw new AssertionError(error);
}
}
// Decoding succeeded: give us more data.
return CoderResult.UNDERFLOW;
} finally {
setPosition(in);
setPosition(out);
}
}
代码示例来源:origin: robovm/robovm
@Override protected CoderResult encodeLoop(CharBuffer in, ByteBuffer out) {
if (!in.hasRemaining()) {
return CoderResult.UNDERFLOW;
}
data[INPUT_OFFSET] = getArray(in);
data[OUTPUT_OFFSET]= getArray(out);
data[INVALID_CHARS] = 0; // Make sure we don't see earlier errors.
try {
int error = NativeConverter.encode(converterHandle, input, inEnd, output, outEnd, data, false);
if (ICU.U_FAILURE(error)) {
if (error == ICU.U_BUFFER_OVERFLOW_ERROR) {
return CoderResult.OVERFLOW;
} else if (error == ICU.U_INVALID_CHAR_FOUND) {
return CoderResult.unmappableForLength(data[INVALID_CHARS]);
} else if (error == ICU.U_ILLEGAL_CHAR_FOUND) {
return CoderResult.malformedForLength(data[INVALID_CHARS]);
} else {
throw new AssertionError(error);
}
}
// Decoding succeeded: give us more data.
return CoderResult.UNDERFLOW;
} finally {
setPosition(in);
setPosition(out);
}
}
代码示例来源:origin: com.sun.codemodel/codemodel
/**
* Returns an unmappable-input result object, with the appropriate
* input length, for the previously-parsed character.
*/
public CoderResult unmappableResult() {
return CoderResult.unmappableForLength(isPair ? 2 : 1);
}
代码示例来源:origin: com.sun.xml.bind/jaxb1-impl
/**
* Returns an unmappable-input result object, with the appropriate
* input length, for the previously-parsed character.
*/
public CoderResult unmappableResult() {
return CoderResult.unmappableForLength(isPair ? 2 : 1);
}
代码示例来源:origin: com.unquietcode.tools.jcodemodel/codemodel
/**
* Returns an unmappable-input result object, with the appropriate
* input length, for the previously-parsed character.
*/
public CoderResult unmappableResult() {
return CoderResult.unmappableForLength(isPair ? 2 : 1);
}
代码示例来源:origin: kebernet/shortyz
/**
* Returns an unmappable-input result object, with the appropriate
* input length, for the previously-parsed character.
*/
public CoderResult unmappableResult() {
assert (error == null);
return CoderResult.unmappableForLength(isPair ? 2 : 1);
}
代码示例来源:origin: sun-jaxb/jaxb-xjc
/**
* Returns an unmappable-input result object, with the appropriate
* input length, for the previously-parsed character.
*/
public CoderResult unmappableResult() {
return CoderResult.unmappableForLength(isPair ? 2 : 1);
}
代码示例来源:origin: adamantoise/robocrosswords
/**
* Returns an unmappable-input result object, with the appropriate
* input length, for the previously-parsed character.
*/
public CoderResult unmappableResult() {
assert (error == null);
return CoderResult.unmappableForLength(isPair ? 2 : 1);
}
代码示例来源:origin: com.atlassian.confluence.officeconnector/pdf-renderer
protected CoderResult encodeLoop(CharBuffer in, ByteBuffer out) {
while (in.remaining() > 0) {
if (out.remaining() < 1) {
return CoderResult.OVERFLOW;
}
final char c = in.get();
if (c >= 0 && c < 256) {
out.put((byte) c);
} else {
return CoderResult.unmappableForLength(1);
}
}
return CoderResult.UNDERFLOW;
}
代码示例来源:origin: com.github.rjolly/pdf-renderer
protected CoderResult encodeLoop(CharBuffer in, ByteBuffer out) {
while (in.remaining() > 0) {
if (out.remaining() < 1) {
return CoderResult.OVERFLOW;
}
final char c = in.get();
if (c >= 0 && c < 256) {
out.put((byte) c);
} else {
return CoderResult.unmappableForLength(1);
}
}
return CoderResult.UNDERFLOW;
}
代码示例来源:origin: net.java.dev/pdf-renderer
protected CoderResult encodeLoop(CharBuffer in, ByteBuffer out) {
while (in.remaining() > 0) {
if (out.remaining() < 1) {
return CoderResult.OVERFLOW;
}
final char c = in.get();
if (c >= 0 && c < 256) {
out.put((byte) c);
} else {
return CoderResult.unmappableForLength(1);
}
}
return CoderResult.UNDERFLOW;
}
代码示例来源:origin: org.jboss.teiid/teiid-engine
@Override
protected CoderResult implFlush(ByteBuffer out) {
if (cb.position() != 0) {
return CoderResult.unmappableForLength(cb.position());
}
return super.implFlush(out);
}
代码示例来源:origin: teiid/teiid
@Override
protected CoderResult implFlush(ByteBuffer out) {
if (cb.position() != 0) {
return CoderResult.unmappableForLength(cb.position());
}
return super.implFlush(out);
}
代码示例来源:origin: net.sf.jmatchparser/jMatchParser-charset
@Override
protected CoderResult decodeLoop(ByteBuffer in, CharBuffer out) {
while (true) {
if (in.remaining() == 0)
return CoderResult.UNDERFLOW;
if (out.remaining() == 0)
return CoderResult.OVERFLOW;
char c = mapping.charAt(in.get() & 0xFF);
if (c == '\uFFFD') {
in.position(in.position() - 1);
return CoderResult.unmappableForLength(1);
}
out.put(c);
}
}
}
代码示例来源:origin: com.ibm.icu/icu4j-charset
private final CoderResult encodeTrail(CharBuffer source, char lead, boolean flush) {
/*
* ASCII doesn't support characters in the BMP, so if handleSurrogates returns null,
* we leave fromUChar32 alone (it should store a new codepoint) and call it unmappable.
*/
CoderResult cr = handleSurrogates(source, lead);
if (cr != null) {
return cr;
} else {
//source.position(source.position() - 2);
return CoderResult.unmappableForLength(2);
}
}
代码示例来源:origin: de.schlichtherle.truezip/truezip-driver-zip
@Override
protected CoderResult decodeLoop( final ByteBuffer in,
final CharBuffer out) {
final char[] b2c = byte2char;
while (in.hasRemaining()) {
if (!out.hasRemaining())
return CoderResult.OVERFLOW;
final char c = b2c[in.get() & 0xFF];
if (c == REPLACEMENT) {
in.position(in.position() - 1); // push back
return CoderResult.unmappableForLength(1);
}
out.put(c);
}
return CoderResult.UNDERFLOW;
}
}
代码示例来源:origin: net.sf.jmatchparser/jMatchParser-charset
@Override
protected CoderResult encodeLoop(CharBuffer in, ByteBuffer out) {
while (in.remaining() > 0) {
byte[] bs = encoderMap.get(in.get());
if (bs == null) {
in.position(in.position() - 1);
return CoderResult.unmappableForLength(1);
} else if (out.remaining() < bs.length) {
in.position(in.position() - 1);
return CoderResult.OVERFLOW;
}
out.put(bs);
}
return CoderResult.UNDERFLOW;
}
}
代码示例来源:origin: org.xbib/bibliographic-character-sets
@Override
protected CoderResult encodeLoop(CharBuffer in, ByteBuffer out) {
while (in.hasRemaining()) {
char c = in.get();
if (c > Byte.MAX_VALUE) {
in.position(in.position() - 1);
return CoderResult.unmappableForLength(1);
}
if (!out.hasRemaining()) {
in.position(in.position() - 1);
return CoderResult.OVERFLOW;
}
out.put((byte) c);
}
return CoderResult.UNDERFLOW;
}
}
代码示例来源:origin: com.ibm.icu/icu4j-charset
private static CoderResult toUnicodeCallback(CharsetDecoderICU cnv, int sourceChar, int targetUniChar) {
CoderResult err = CoderResult.UNDERFLOW;
if (sourceChar > 0xff) {
cnv.toUBytesArray[0] = (byte)(sourceChar>>8);
cnv.toUBytesArray[1] = (byte)sourceChar;
cnv.toULength = 2;
} else {
cnv.toUBytesArray[0] = (byte)sourceChar;
cnv.toULength = 1;
}
if (targetUniChar == (UConverterConstants.missingCharMarker-1/* 0xfffe */)) {
err = CoderResult.unmappableForLength(1);
} else {
err = CoderResult.malformedForLength(1);
}
return err;
}
代码示例来源:origin: com.ibm.icu/icu4j-charset
protected final CoderResult encodeMalformedOrUnmappable(CharBuffer source, int ch, boolean flush) {
/*
* if the character is a lead surrogate, we need to call encodeTrail to attempt to match
* it up with a trail surrogate. if not, the character is unmappable.
*/
return (UTF16.isSurrogate((char) ch))
? encodeTrail(source, (char) ch, flush)
: CoderResult.unmappableForLength(1);
}
内容来源于网络,如有侵权,请联系作者删除!