public final class org.apache.logging.log4j.core.util.StringEncoder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.logging.log4j.core.util.StringEncoder
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.logging.log4j.core.util.StringEncoder this
0: .line 30
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 31
return
end local 0 // org.apache.logging.log4j.core.util.StringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/logging/log4j/core/util/StringEncoder;
public static byte[] toBytes(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // java.lang.String str
start local 1 // java.nio.charset.Charset charset
0: .line 41
aload 0 /* str */
ifnull 10
1: .line 42
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
aload 1 /* charset */
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifeq 3
2: .line 43
aload 0 /* str */
invokestatic org.apache.logging.log4j.core.util.StringEncoder.encodeSingleByteChars:(Ljava/lang/CharSequence;)[B
areturn
3: .line 45
StackMap locals:
StackMap stack:
aload 1 /* charset */
ifnull 4
aload 1 /* charset */
goto 5
StackMap locals:
StackMap stack:
4: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
StackMap locals:
StackMap stack: java.nio.charset.Charset
5: astore 2 /* actual */
start local 2 // java.nio.charset.Charset actual
6: .line 47
aload 0 /* str */
aload 2 /* actual */
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
7: areturn
8: .line 48
StackMap locals: java.lang.String java.nio.charset.Charset java.nio.charset.Charset
StackMap stack: java.io.UnsupportedEncodingException
pop
9: .line 49
aload 0 /* str */
aload 2 /* actual */
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
areturn
end local 2 // java.nio.charset.Charset actual
10: .line 52
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 // java.nio.charset.Charset charset
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 11 0 str Ljava/lang/String;
0 11 1 charset Ljava/nio/charset/Charset;
6 10 2 actual Ljava/nio/charset/Charset;
Exception table:
from to target type
6 7 8 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
str final
charset final
public static byte[] encodeSingleByteChars(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 // java.lang.CharSequence s
0: .line 63
aload 0 /* s */
invokeinterface java.lang.CharSequence.length:()I
istore 1 /* length */
start local 1 // int length
1: .line 64
iload 1 /* length */
newarray 8
astore 2 /* result */
start local 2 // byte[] result
2: .line 65
aload 0 /* s */
iconst_0
iload 1 /* length */
aload 2 /* result */
invokestatic org.apache.logging.log4j.core.util.StringEncoder.encodeString:(Ljava/lang/CharSequence;II[B)I
pop
3: .line 66
aload 2 /* result */
areturn
end local 2 // byte[] result
end local 1 // int length
end local 0 // java.lang.CharSequence s
LocalVariableTable:
Start End Slot Name Signature
0 4 0 s Ljava/lang/CharSequence;
1 4 1 length I
2 4 2 result [B
MethodParameters:
Name Flags
s final
public static int encodeIsoChars(java.lang.CharSequence, int, byte[], int, int);
descriptor: (Ljava/lang/CharSequence;I[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=5
start local 0 // java.lang.CharSequence charArray
start local 1 // int charIndex
start local 2 // byte[] byteArray
start local 3 // int byteIndex
start local 4 // int length
0: .line 75
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 76
goto 7
2: .line 77
StackMap locals: int
StackMap stack:
aload 0 /* charArray */
iload 1 /* charIndex */
iinc 1 /* charIndex */ 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 6 /* c */
start local 6 // char c
3: .line 78
iload 6 /* c */
sipush 255
if_icmple 5
4: .line 79
goto 8
5: .line 81
StackMap locals: int
StackMap stack:
aload 2 /* byteArray */
iload 3 /* byteIndex */
iinc 3 /* byteIndex */ 1
iload 6 /* c */
i2b
bastore
end local 6 // char c
6: .line 76
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 5 /* i */
iload 4 /* length */
if_icmplt 2
8: .line 83
StackMap locals:
StackMap stack:
iload 5 /* i */
ireturn
end local 5 // int i
end local 4 // int length
end local 3 // int byteIndex
end local 2 // byte[] byteArray
end local 1 // int charIndex
end local 0 // java.lang.CharSequence charArray
LocalVariableTable:
Start End Slot Name Signature
0 9 0 charArray Ljava/lang/CharSequence;
0 9 1 charIndex I
0 9 2 byteArray [B
0 9 3 byteIndex I
0 9 4 length I
1 9 5 i I
3 6 6 c C
MethodParameters:
Name Flags
charArray final
charIndex
byteArray final
byteIndex
length final
public static int encodeString(java.lang.CharSequence, int, int, byte[]);
descriptor: (Ljava/lang/CharSequence;II[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 // java.lang.CharSequence charArray
start local 1 // int charOffset
start local 2 // int charLength
start local 3 // byte[] byteArray
0: .line 88
iconst_0
istore 4 /* byteOffset */
start local 4 // int byteOffset
1: .line 89
iload 2 /* charLength */
aload 3 /* byteArray */
arraylength
invokestatic java.lang.Math.min:(II)I
istore 5 /* length */
start local 5 // int length
2: .line 90
iload 1 /* charOffset */
iload 5 /* length */
iadd
istore 6 /* charDoneIndex */
start local 6 // int charDoneIndex
3: .line 91
goto 17
4: .line 92
StackMap locals: int int int
StackMap stack:
aload 0 /* charArray */
iload 1 /* charOffset */
aload 3 /* byteArray */
iload 4 /* byteOffset */
iload 5 /* length */
invokestatic org.apache.logging.log4j.core.util.StringEncoder.encodeIsoChars:(Ljava/lang/CharSequence;I[BII)I
istore 7 /* done */
start local 7 // int done
5: .line 93
iload 1 /* charOffset */
iload 7 /* done */
iadd
istore 1 /* charOffset */
6: .line 94
iload 4 /* byteOffset */
iload 7 /* done */
iadd
istore 4 /* byteOffset */
7: .line 95
iload 7 /* done */
iload 5 /* length */
if_icmpeq 17
8: .line 96
aload 0 /* charArray */
iload 1 /* charOffset */
iinc 1 /* charOffset */ 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 8 /* c */
start local 8 // char c
9: .line 97
iload 8 /* c */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 15
iload 1 /* charOffset */
iload 6 /* charDoneIndex */
if_icmpge 15
10: .line 98
aload 0 /* charArray */
iload 1 /* charOffset */
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 15
11: .line 99
iload 2 /* charLength */
aload 3 /* byteArray */
arraylength
if_icmple 14
12: .line 100
iinc 6 /* charDoneIndex */ 1
13: .line 101
iinc 2 /* charLength */ -1
14: .line 103
StackMap locals: int int
StackMap stack:
iinc 1 /* charOffset */ 1
15: .line 105
StackMap locals:
StackMap stack:
aload 3 /* byteArray */
iload 4 /* byteOffset */
iinc 4 /* byteOffset */ 1
bipush 63
bastore
16: .line 106
iload 6 /* charDoneIndex */
iload 1 /* charOffset */
isub
aload 3 /* byteArray */
arraylength
iload 4 /* byteOffset */
isub
invokestatic java.lang.Math.min:(II)I
istore 5 /* length */
end local 8 // char c
end local 7 // int done
17: .line 91
StackMap locals:
StackMap stack:
iload 1 /* charOffset */
iload 6 /* charDoneIndex */
if_icmplt 4
18: .line 109
iload 4 /* byteOffset */
ireturn
end local 6 // int charDoneIndex
end local 5 // int length
end local 4 // int byteOffset
end local 3 // byte[] byteArray
end local 2 // int charLength
end local 1 // int charOffset
end local 0 // java.lang.CharSequence charArray
LocalVariableTable:
Start End Slot Name Signature
0 19 0 charArray Ljava/lang/CharSequence;
0 19 1 charOffset I
0 19 2 charLength I
0 19 3 byteArray [B
1 19 4 byteOffset I
2 19 5 length I
3 19 6 charDoneIndex I
5 17 7 done I
9 17 8 c C
MethodParameters:
Name Flags
charArray final
charOffset
charLength
byteArray final
}
SourceFile: "StringEncoder.java"