public enum HanXinEncodeMode extends java.lang.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 = "ΑΒΓΔΕ"; 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:漄\\gb180304b:㐁\\region1:全\\region2:螅\\numeric:123\\text:qwe\\\\unicode:ıntəˈnæʃənəl" + "\\000009:ΑΒΓΔΕ\\auto:abc\\binary:abc\\\\uri:backslashes_should_be_doubled\\\\000555:test"; String expectedStr = "漄㐁全螅123qweıntəˈnæʃənəlΑΒΓΔΕabcabcbackslashes_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("漄"); codeTextBuilder.addGB18030FourByte("㐁"); codeTextBuilder.addCommonChineseRegionOne("全"); codeTextBuilder.addCommonChineseRegionTwo("螅"); codeTextBuilder.addNumeric("123"); codeTextBuilder.addText("qwe"); codeTextBuilder.addUnicode("ıntəˈnæʃənəl"); codeTextBuilder.addECI("ΑΒΓΔΕ", 9); codeTextBuilder.addAuto("abc"); codeTextBuilder.addBinary("abc"); codeTextBuilder.addURI("backslashes_should_be_doubled\\000555:test"); String expectedStr = "漄㐁全螅123qweıntəˈnæʃənəlΑΒΓΔΕabcabcbackslashes_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"); }
Enum Constant and Description |
---|
AUTO
Sequence of Numeric, Text, ECI, Binary Bytes and 4 GB18030 modes changing automatically.
|
BINARY
Binary byte mode encodes binary data in any form and encodes them in their binary byte.
|
ECI
Extended Channel Interpretation (ECI) mode
|
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.
|
UNICODE
Unicode mode designs a way to represent any text data reference to UTF8 encoding/charset in Han Xin Code.
|
URI
URI mode indicates the data represented in Han Xin Code is Uniform Resource Identifier (URI)
reference to RFC 3986.
|
Modifier and Type | Method and Description |
---|---|
int |
getValue() |
static HanXinEncodeMode |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static HanXinEncodeMode[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final HanXinEncodeMode AUTO
Sequence of Numeric, Text, ECI, Binary Bytes and 4 GB18030 modes changing automatically.
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.
public static final HanXinEncodeMode ECI
Extended Channel Interpretation (ECI) mode
public static final HanXinEncodeMode UNICODE
Unicode mode designs a way to represent any text data reference to UTF8 encoding/charset in Han Xin Code.
public static final HanXinEncodeMode URI
URI mode indicates the data represented in Han Xin Code is Uniform Resource Identifier (URI) reference to RFC 3986.
public static final HanXinEncodeMode EXTENDED
public static HanXinEncodeMode[] values()
for (HanXinEncodeMode c : HanXinEncodeMode.values()) System.out.println(c);
public static HanXinEncodeMode valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is nullpublic int getValue()