本文整理了Java中java.lang.Character.isISOControl()
方法的一些代码示例,展示了Character.isISOControl()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Character.isISOControl()
方法的具体详情如下:
包路径:java.lang.Character
类名称:Character
方法名:isISOControl
[英]Indicates whether the specified character is an ISO control character.
[中]指示指定的字符是否为ISO控制字符。
代码示例来源:origin: SonarSource/sonarqube
private static void checkBufferForISOControlChars(byte[] buffer, int off, int len) {
for (int i = off; i < len; i++) {
char streamChar = (char) buffer[i];
if (Character.isISOControl(streamChar) && streamChar != '\n') {
// replace control chars by a simple space
buffer[i] = ' ';
}
}
}
}
代码示例来源:origin: prestodb/presto
protected final static String _getCharDesc(int ch)
{
char c = (char) ch;
if (Character.isISOControl(c)) {
return "(CTRL-CHAR, code "+ch+")";
}
if (ch > 255) {
return "'"+c+"' (code "+ch+" / 0x"+Integer.toHexString(ch)+")";
}
return "'"+c+"' (code "+ch+")";
}
代码示例来源:origin: redisson/redisson
protected final static String _getCharDesc(int ch)
{
char c = (char) ch;
if (Character.isISOControl(c)) {
return "(CTRL-CHAR, code "+ch+")";
}
if (ch > 255) {
return "'"+c+"' (code "+ch+" / 0x"+Integer.toHexString(ch)+")";
}
return "'"+c+"' (code "+ch+")";
}
代码示例来源:origin: robovm/robovm
/**
* Indicates whether the specified character is an ISO control character.
*
* @param c
* the character to check.
* @return {@code true} if {@code c} is an ISO control character;
* {@code false} otherwise.
*/
public static boolean isISOControl(char c) {
return isISOControl((int) c);
}
代码示例来源:origin: iBotPeaches/Apktool
private static boolean isPrintableChar(char c) {
Character.UnicodeBlock block = Character.UnicodeBlock.of(c);
return !Character.isISOControl(c) && c != KeyEvent.CHAR_UNDEFINED
&& block != null && block != Character.UnicodeBlock.SPECIALS;
}
}
代码示例来源:origin: jenkinsci/jenkins
private static String toPrintableName(String name) {
StringBuilder printableName = new StringBuilder();
for( int i=0; i<name.length(); i++ ) {
char ch = name.charAt(i);
if(Character.isISOControl(ch))
printableName.append("\\u").append((int)ch).append(';');
else
printableName.append(ch);
}
return printableName.toString();
}
代码示例来源:origin: square/javapoet
static String characterLiteralWithoutSingleQuotes(char c) {
// see https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.6
switch (c) {
case '\b': return "\\b"; /* \u0008: backspace (BS) */
case '\t': return "\\t"; /* \u0009: horizontal tab (HT) */
case '\n': return "\\n"; /* \u000a: linefeed (LF) */
case '\f': return "\\f"; /* \u000c: form feed (FF) */
case '\r': return "\\r"; /* \u000d: carriage return (CR) */
case '\"': return "\""; /* \u0022: double quote (") */
case '\'': return "\\'"; /* \u0027: single quote (') */
case '\\': return "\\\\"; /* \u005c: backslash (\) */
default:
return isISOControl(c) ? String.format("\\u%04x", (int) c) : Character.toString(c);
}
}
代码示例来源:origin: org.codehaus.jackson/jackson-core-asl
protected final static String _getCharDesc(int ch)
{
char c = (char) ch;
if (Character.isISOControl(c)) {
return "(CTRL-CHAR, code "+ch+")";
}
if (ch > 255) {
return "'"+c+"' (code "+ch+" / 0x"+Integer.toHexString(ch)+")";
}
return "'"+c+"' (code "+ch+")";
}
代码示例来源:origin: prestodb/presto
static int codePointIndexToCharIndex(String s, int codePointCount) {
for (int i = 0, j = 0, length = s.length(), c; i < length; i += Character.charCount(c)) {
if (j == codePointCount) {
return i;
}
c = s.codePointAt(i);
if ((Character.isISOControl(c) && c != '\n' && c != '\r')
|| c == Buffer.REPLACEMENT_CHARACTER) {
return -1;
}
j++;
}
return s.length();
}
代码示例来源:origin: oracle/opengrok
/**
* Write HTML escape sequence for the specified Unicode character, unless
* it's an ISO control character, in which case it is ignored.
* @param out a defined, target instance
* @param c the character to write
* @throws IOException if an error occurs while writing to the stream
*/
public static void writeUnicodeChar(Writer out, char c)
throws IOException {
if (!Character.isISOControl(c)) {
out.append("&#").append(Integer.toString(c)).append(';');
}
}
代码示例来源:origin: wildfly/wildfly
private static int getChunkSize(String hex) {
hex = hex.trim();
for (int i = 0; i < hex.length(); i ++) {
char c = hex.charAt(i);
if (c == ';' || Character.isWhitespace(c) || Character.isISOControl(c)) {
hex = hex.substring(0, i);
break;
}
}
return Integer.parseInt(hex, 16);
}
代码示例来源:origin: oracle/opengrok
private static int nextTestWhitespaceLength(boolean match, String str,
int off) {
int i = 0;
while (off + i < str.length()) {
int cp = Character.codePointAt(str, off + i);
if ((Character.isWhitespace(cp) || Character.isISOControl(cp)) !=
match) {
return i;
}
i += Character.charCount(cp);
}
return str.length() - off;
}
代码示例来源:origin: wildfly/wildfly
private static void skipControlCharactersStandard(ByteBuf undecodedChunk) {
for (;;) {
char c = (char) undecodedChunk.readUnsignedByte();
if (!Character.isISOControl(c) && !Character.isWhitespace(c)) {
undecodedChunk.readerIndex(undecodedChunk.readerIndex() - 1);
break;
}
}
}
代码示例来源:origin: apache/kafka
@Override
public void ensureValid(String name, Object value) {
String s = (String) value;
if (s == null) {
// This can happen during creation of the config object due to no default value being defined for the
// name configuration - a missing name parameter is caught when checking for mandatory parameters,
// thus we can ok a null value here
return;
} else if (s.isEmpty()) {
throw new ConfigException(name, value, "String may not be empty");
}
// Check name string for illegal characters
ArrayList<Integer> foundIllegalCharacters = new ArrayList<>();
for (int i = 0; i < s.length(); i++) {
if (Character.isISOControl(s.codePointAt(i))) {
foundIllegalCharacters.add(s.codePointAt(i));
}
}
if (!foundIllegalCharacters.isEmpty()) {
throw new ConfigException(name, value, "String may not contain control sequences but had the following ASCII chars: " + Utils.join(foundIllegalCharacters, ", "));
}
}
代码示例来源:origin: prestodb/presto
/**
* @param bindex Relative index within base64 character unit; between 0
* and 3 (as unit has exactly 4 characters)
*/
protected IllegalArgumentException reportInvalidBase64Char(Base64Variant b64variant, int ch, int bindex, String msg) throws IllegalArgumentException {
String base;
if (ch <= INT_SPACE) {
base = String.format("Illegal white space character (code 0x%s) as character #%d of 4-char base64 unit: can only used between units",
Integer.toHexString(ch), (bindex+1));
} else if (b64variant.usesPaddingChar(ch)) {
base = "Unexpected padding character ('"+b64variant.getPaddingChar()+"') as character #"+(bindex+1)+" of 4-char base64 unit: padding only legal as 3rd or 4th character";
} else if (!Character.isDefined(ch) || Character.isISOControl(ch)) {
// Not sure if we can really get here... ? (most illegal xml chars are caught at lower level)
base = "Illegal character (code 0x"+Integer.toHexString(ch)+") in base64 content";
} else {
base = "Illegal character '"+((char)ch)+"' (code 0x"+Integer.toHexString(ch)+") in base64 content";
}
if (msg != null) {
base = base + ": " + msg;
}
return new IllegalArgumentException(base);
}
代码示例来源:origin: redisson/redisson
/**
* @param bindex Relative index within base64 character unit; between 0
* and 3 (as unit has exactly 4 characters)
*/
protected IllegalArgumentException reportInvalidBase64Char(Base64Variant b64variant, int ch, int bindex, String msg) throws IllegalArgumentException {
String base;
if (ch <= INT_SPACE) {
base = String.format("Illegal white space character (code 0x%s) as character #%d of 4-char base64 unit: can only used between units",
Integer.toHexString(ch), (bindex+1));
} else if (b64variant.usesPaddingChar(ch)) {
base = "Unexpected padding character ('"+b64variant.getPaddingChar()+"') as character #"+(bindex+1)+" of 4-char base64 unit: padding only legal as 3rd or 4th character";
} else if (!Character.isDefined(ch) || Character.isISOControl(ch)) {
// Not sure if we can really get here... ? (most illegal xml chars are caught at lower level)
base = "Illegal character (code 0x"+Integer.toHexString(ch)+") in base64 content";
} else {
base = "Illegal character '"+((char)ch)+"' (code 0x"+Integer.toHexString(ch)+") in base64 content";
}
if (msg != null) {
base = base + ": " + msg;
}
return new IllegalArgumentException(base);
}
代码示例来源:origin: prestodb/presto
/**
* @param bindex Relative index within base64 character unit; between 0
* and 3 (as unit has exactly 4 characters)
*/
protected void _reportInvalidBase64(char ch, int bindex, String msg)
throws IllegalArgumentException
{
String base;
if (ch <= INT_SPACE) {
base = "Illegal white space character (code 0x"+Integer.toHexString(ch)+") as character #"+(bindex+1)+" of 4-char base64 unit: can only used between units";
} else if (usesPaddingChar(ch)) {
base = "Unexpected padding character ('"+getPaddingChar()+"') as character #"+(bindex+1)+" of 4-char base64 unit: padding only legal as 3rd or 4th character";
} else if (!Character.isDefined(ch) || Character.isISOControl(ch)) {
// Not sure if we can really get here... ? (most illegal xml chars are caught at lower level)
base = "Illegal character (code 0x"+Integer.toHexString(ch)+") in base64 content";
} else {
base = "Illegal character '"+ch+"' (code 0x"+Integer.toHexString(ch)+") in base64 content";
}
if (msg != null) {
base = base + ": " + msg;
}
throw new IllegalArgumentException(base);
}
代码示例来源:origin: square/okhttp
/**
* Returns true if the body in question probably contains human readable text. Uses a small sample
* of code points to detect unicode control characters commonly used in binary file signatures.
*/
static boolean isPlaintext(Buffer buffer) {
try {
Buffer prefix = new Buffer();
long byteCount = buffer.size() < 64 ? buffer.size() : 64;
buffer.copyTo(prefix, 0, byteCount);
for (int i = 0; i < 16; i++) {
if (prefix.exhausted()) {
break;
}
int codePoint = prefix.readUtf8CodePoint();
if (Character.isISOControl(codePoint) && !Character.isWhitespace(codePoint)) {
return false;
}
}
return true;
} catch (EOFException e) {
return false; // Truncated UTF-8 sequence.
}
}
代码示例来源:origin: jenkinsci/jenkins
/**
* Check if the given name is suitable as a name
* for job, view, etc.
*
* @throws Failure
* if the given name is not good
*/
public static void checkGoodName(String name) throws Failure {
if(name==null || name.length()==0)
throw new Failure(Messages.Hudson_NoName());
if(".".equals(name.trim()))
throw new Failure(Messages.Jenkins_NotAllowedName("."));
if("..".equals(name.trim()))
throw new Failure(Messages.Jenkins_NotAllowedName(".."));
for( int i=0; i<name.length(); i++ ) {
char ch = name.charAt(i);
if(Character.isISOControl(ch)) {
throw new Failure(Messages.Hudson_ControlCodeNotAllowed(toPrintableName(name)));
}
if("?*/\\%!@#$^&|<>[]:;".indexOf(ch)!=-1)
throw new Failure(Messages.Hudson_UnsafeChar(ch));
}
// looks good
}
代码示例来源:origin: google/guava
@GwtIncompatible // Character.isISOControl
public void testJavaIsoControl() {
for (int c = 0; c <= Character.MAX_VALUE; c++) {
assertEquals(
"" + c, Character.isISOControl(c), CharMatcher.javaIsoControl().matches((char) c));
}
}
内容来源于网络,如有侵权,请联系作者删除!