HanXinEncodeMode

Inheritance: java.lang.Object, java.lang.Enum

public enum HanXinEncodeMode extends Enum<HanXinEncodeMode>

Han Xin Code encoding mode. It is recommended to use Auto with ASCII / Chinese characters or Unicode for Unicode characters.


// Auto mode
  String codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
  BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.HAN_XIN, codetext);
  generator.save("test.bmp");

  // Binary mode
  byte[] encodedArr = new byte[] {(byte) 0xFF, (byte) 0xFE, (byte) 0xFD, (byte) 0xFC, (byte) 0xFB, (byte) 0xFA, (byte) 0xF9};

  //encode array to string
  StringBuilder strBld = new StringBuilder();
  for (byte bval : encodedArr)
      strBld.append((char) bval);
  String codetext = strBld.toString();

  BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.HAN_XIN, codetext);
  generator.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.BINARY);
  generator.save("test.bmp");

  // ECI mode
  String codetext = "\u0391\u0392\u0393\u0394\u0395";
  BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.HAN_XIN, codetext);
  generator.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.ECI);
  generator.getParameters().getBarcode().getHanXin().setHanXinECIEncoding(ECIEncodings.ISO_8859_7);
  generator.save("test.bmp");

  // URI mode
  String codetext = "https://www.test.com/%BC%DE%%%ab/search=test";
  BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.HAN_XIN, codetext);
  generator.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.URI);
  generator.save("test.bmp");


  // Extended mode
  String str = "\\gb180302b:\u6f04\\gb180304b:\u3401\\region1:\u5168\\region2:\u8785\\numeric:123\\text:qwe\\\\unicode:\u0131nt\u0259\u02c8n\u0283\u0259n\u0259l" +
      "\\000009:\u0391\u0392\u0393\u0394\u0395\\auto:abc\\binary:abc\\\\uri:backslashes_should_be_doubled\\\\000555:test";
 
  String expectedStr = "\u6f04\u3401\u5168\u8785123qwe\u0131nt\u0259\u02c8n\u0283\u0259n\u0259l\u0391\u0392\u0393\u0394\u0395abcabcbackslashes_should_be_doubled\\000555:test";
 
  BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.HanXin, str);
  {
      generator.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.EXTENDED);
      generator.save("test.bmp");
  }
 
  // Using HanXinExtCodetextBuilder for Extended mode (same codetext as in previous example)
  //create codetext
  HanXinExtCodetextBuilder codeTextBuilder = new HanXinExtCodetextBuilder();
  codeTextBuilder.addGB18030TwoByte("\u6f04");
  codeTextBuilder.addGB18030FourByte("\u3401");
  codeTextBuilder.addCommonChineseRegionOne("\u5168");
  codeTextBuilder.addCommonChineseRegionTwo("\u8785");
  codeTextBuilder.addNumeric("123");
  codeTextBuilder.addText("qwe");
  codeTextBuilder.addUnicode("\u0131nt\u0259\u02c8n\u0283\u0259n\u0259l");
  codeTextBuilder.addECI("\u0391\u0392\u0393\u0394\u0395", 9);
  codeTextBuilder.addAuto("abc");
  codeTextBuilder.addBinary("abc");
  codeTextBuilder.addURI("backslashes_should_be_doubled\\000555:test");
 
  String expectedStr = "\u6f04\u3401\u5168\u8785123qwe\u0131nt\u0259\u02c8n\u0283\u0259n\u0259l\u0391\u0392\u0393\u0394\u0395abcabcbackslashes_should_be_doubled\\000555:test";
 
  //generate codetext
  String str = codeTextBuilder.getExtendedCodetext();
 
  //generate
  BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.HanXin, str);
  {
      generator.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.EXTENDED);
      generator.save("test.bmp");
  }

Fields

FieldDescription
AUTOSequence of Numeric, Text, ECI, Binary Bytes and 4 GB18030 modes changing automatically.
BINARYBinary byte mode encodes binary data in any form and encodes them in their binary byte.
ECIExtended Channel Interpretation (ECI) mode
EXTENDEDExtended mode allow combinations of internal modes: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One, Common Chinese Region Two, GB18030 Two Byte, GB18030 Four Byte.
UNICODEUnicode mode designs a way to represent any text data reference to UTF8 encoding/charset in Han Xin Code.
URIURI mode indicates the data represented in Han Xin Code is Uniform Resource Identifier (URI) reference to RFC 3986.

Methods

MethodDescription
valueOf(Class arg0, String arg1)
compareTo(E arg0)
equals(Object arg0)
getClass()
getDeclaringClass()
getValue()
hashCode()
name()
notify()
notifyAll()
ordinal()
toString()
valueOf(String name)
values()
wait()
wait(long arg0)
wait(long arg0, int arg1)

AUTO

public static final HanXinEncodeMode AUTO

Sequence of Numeric, Text, ECI, Binary Bytes and 4 GB18030 modes changing automatically.

BINARY

public static final HanXinEncodeMode BINARY

Binary byte mode encodes binary data in any form and encodes them in their binary byte. Every byte in Binary Byte mode is represented by 8 bits.

ECI

public static final HanXinEncodeMode ECI

Extended Channel Interpretation (ECI) mode

EXTENDED

public static final HanXinEncodeMode EXTENDED

Extended mode allow combinations of internal modes: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One, Common Chinese Region Two, GB18030 Two Byte, GB18030 Four Byte. Codetext can be built manually with prefixes and doubled backslashes, e.g.: @"\auto:abc\000009:\u0391\u0392\u0393\u0394\u0395\auto:ab\\c" or using the HanXinExtCodetextBuilder. If the codetext contains an ECI fragment, then only the following modes can be in that codetext after ECI fragment: Auto, Binary, Text, Numeric, URI, ECI.

UNICODE

public static final HanXinEncodeMode UNICODE

Unicode mode designs a way to represent any text data reference to UTF8 encoding/charset in Han Xin Code.

URI

public static final HanXinEncodeMode URI

URI mode indicates the data represented in Han Xin Code is Uniform Resource Identifier (URI) reference to RFC 3986.

valueOf(Class arg0, String arg1)

public static T <T>valueOf(Class<T> arg0, String arg1)

Parameters:

ParameterTypeDescription
arg0java.lang.Class
arg1java.lang.String

Returns: T

compareTo(E arg0)

public final int compareTo(E arg0)

Parameters:

ParameterTypeDescription
arg0E

Returns: int

equals(Object arg0)

public final boolean equals(Object arg0)

Parameters:

ParameterTypeDescription
arg0java.lang.Object

Returns: boolean

getClass()

public final native Class<?> getClass()

Returns: java.lang.Class

getDeclaringClass()

public final Class<E> getDeclaringClass()

Returns: java.lang.Class

getValue()

public int getValue()

Returns: int

hashCode()

public final int hashCode()

Returns: int

name()

public final String name()

Returns: java.lang.String

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

ordinal()

public final int ordinal()

Returns: int

toString()

public String toString()

Returns: java.lang.String

valueOf(String name)

public static HanXinEncodeMode valueOf(String name)

Parameters:

ParameterTypeDescription
namejava.lang.String

Returns: HanXinEncodeMode

values()

public static HanXinEncodeMode[] values()

Returns: com.aspose.barcode.generation.HanXinEncodeMode[]

wait()

public final void wait()

wait(long arg0)

public final native void wait(long arg0)

Parameters:

ParameterTypeDescription
arg0long

wait(long arg0, int arg1)

public final void wait(long arg0, int arg1)

Parameters:

ParameterTypeDescription
arg0long
arg1int