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"