本文整理汇总了Java中com.cloudhopper.commons.charset.CharsetUtil类的典型用法代码示例。如果您正苦于以下问题:Java CharsetUtil类的具体用法?Java CharsetUtil怎么用?Java CharsetUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CharsetUtil类属于com.cloudhopper.commons.charset包,在下文中一共展示了CharsetUtil类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: sendMessageSync
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
public synchronized void sendMessageSync(String destAddress, String message, boolean command)
throws RecoverablePduException, UnrecoverablePduException, SmppTimeoutException, SmppChannelException,
InterruptedException, IllegalStateException {
if (getSession() != null && getSession().isBound()) {
SubmitSm submit = new SubmitSm();
byte[] textBytes;
textBytes = CharsetUtil.encode(message, command ? commandsCharsetName : notificationsCharsetName);
submit.setDataCoding(command ? commandsDataCoding : notificationsDataCoding);
submit.setShortMessage(textBytes);
submit.setSourceAddress(command ? new Address(commandSourceTon, commandSourceNpi, commandSourceAddress)
: new Address(sourceTon, sourceNpi, sourceAddress));
submit.setDestAddress(new Address(destTon, destNpi, destAddress));
SubmitSmResp submitResponce = getSession().submit(submit, submitTimeout);
if (submitResponce.getCommandStatus() == SmppConstants.STATUS_OK) {
Log.debug("SMS submitted, message id: " + submitResponce.getMessageId());
} else {
throw new IllegalStateException(submitResponce.getResultMessage());
}
} else {
throw new SmppChannelException("SMPP session is not connected");
}
}
示例2: main
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
static public void main(String[] args) throws Exception {
Charset cs = CharsetUtil.map("GSM");
for (int i = 0; i < 65536; i++) {
String str = (char)i+"";
byte[] sourceBytes = str.getBytes("ISO-10646-UCS-2");
byte[] encodedBytes = cs.encode(str);
// only print out exceptions between GSM & ISO-8859-1
if (!Arrays.equals(sourceBytes, encodedBytes) && encodedBytes[0] != (byte)0x3F) {
// { (byte)0x00, (byte)0x40 }, // @
System.out.println("{ (byte)0x" + HexUtil.toHexString(encodedBytes) + ", (char)0x" + HexUtil.toHexString(sourceBytes) + " }, // " + str);
//logger.debug(str + ": " + HexUtil.toHexString(sourceBytes) + "->" + HexUtil.toHexString(encodedBytes));
}
}
}
示例3: main
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
static public void main(String[] args) throws Exception {
String in = "\u20ACABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv\u6025";
int count = 500000;
long start = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
//String out = CharsetUtil.normalize(in, CharsetUtil.CHARSET_GSM);
//GSMCharset.canRepresent(in);
//int length = UTF8Charset.calculateByteLength(in);
//int length = in.getBytes("UTF8").length;
//byte[] a = UTF8Charset.encode(in);
byte[] b = CharsetUtil.encode(in, CharsetUtil.CHARSET_UTF_8);
}
long stop = System.currentTimeMillis();
logger.info("Took " + (stop-start) + " ms to run " + count + " times");
}
示例4: main
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
static public void main(String[] args) throws Exception {
String str0 = "\u20AC";
//Charset charset = new GSMCharset();
//Charset charset = new PackedGSMCharset();
//Charset charset = new ISO88591Charset();
//Charset charset = new UCS2Charset();
//Charset charset = new UTF8Charset();
//Charset charset = CharsetUtil.map(CharsetUtil.NAME_PACKED_GSM);
Charset charset = CharsetUtil.map(CharsetUtil.NAME_ISO_8859_15);
byte[] encoded = CharsetUtil.encode(str0, charset);
logger.info("str0: " + str0);
logger.info("encoded: " + HexUtil.toHexString(encoded));
}
示例5: createMessage
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
@Override
public DeliverSm createMessage() throws Exception {
if (nextSegmentId > numberOfSegments) {
// we are starting a new segmented message
currentMsgRefNum = ++nextMsgRefNum;
nextSegmentId = 1;
}
DeliverSm pdu = super.createMessage();
String shortMessage = "Segment content " + nextSegmentId + ". ";
SmppPduUtils.setSegmentOptionalParams(pdu, currentMsgRefNum, nextSegmentId, numberOfSegments);
pdu.setShortMessage(CharsetUtil.encode(shortMessage, CharsetUtil.CHARSET_GSM));
nextSegmentId += 1;
return pdu;
}
示例6: sendSegmentedBinaryDeliverMsg
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
@ManagedOperation
public void sendSegmentedBinaryDeliverMsg(int numberOfSegments) throws Exception {
Address sourceAddress = new Address((byte) 0, (byte) 0, "123456789");
Address destinationAddress = new Address((byte) 0, (byte) 0, "987654321");
int msgRefNum = nextMsgRefNum.incrementAndGet();
for (int i = 1; i <= numberOfSegments; i++) {
String shortMessage = "Segment content " + i + ". ";
DeliverSm pdu = SmppPduUtils.createDeliverSm(sourceAddress, destinationAddress, getSessionManager().getNextSequenceNumber());
SmppPduUtils.setSegmentOptionalParams(pdu, msgRefNum, i, numberOfSegments);
pdu.setShortMessage(CharsetUtil.encode(shortMessage, CharsetUtil.NAME_GSM));
pdu.setDataCoding((byte) 0x02); // 8 bit binary encoding
send(pdu);
}
}
示例7: sendSegmentedDeliverMsgRandomized
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
@ManagedOperation
public void sendSegmentedDeliverMsgRandomized(int numberOfMessages, int numberOfSegments) throws Exception {
for (int msgNum = 0; msgNum < numberOfMessages; msgNum++) {
Address sourceAddress = new Address((byte) 0, (byte) 0, "123456789");
Address destinationAddress = new Address((byte) 0, (byte) 0, "987654321");
int msgRefNum = nextMsgRefNum.incrementAndGet();
for (int i = 1; i <= numberOfSegments; i++) {
String shortMessage = "Msg " + msgNum + ". Segment content " + i + ". ";
DeliverSm pdu = SmppPduUtils.createDeliverSm(sourceAddress, destinationAddress, getSessionManager().getNextSequenceNumber());
SmppPduUtils.setSegmentOptionalParams(pdu, msgRefNum, i, numberOfSegments);
pdu.setShortMessage(CharsetUtil.encode(shortMessage, CharsetUtil.CHARSET_GSM));
getDeliverSender().scheduleDelivery(new PduRequestRecord(pdu, 1000, 5000));
}
}
}
示例8: setSegmentUdh00AndMessage
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
/**
* Taken from
*
* @see http://memoirniche.wordpress.com/2010/04/10/smpp-submit-pdu/
**/
public static void setSegmentUdh00AndMessage(DeliverSm pdu, int msgRefNum, int segmentNum, int totalSegmentCount, String shortMessage)
throws SmppInvalidArgumentException {
// add UDHI bit to ESM class
byte esmClass = 0;
esmClass |= SmppConstants.ESM_CLASS_UDHI_MASK;
pdu.setEsmClass(esmClass);
byte[] udhHeader = new byte[6];
udhHeader[0] = 0x05; // the total length of data in UDH, not including
// the first byte of header (i.e. the byte
// containing the total length).
udhHeader[1] = 0x00; // IE identifier for concatenated messages
udhHeader[2] = 0x03; // length of data in IE
udhHeader[3] = (byte) msgRefNum;
udhHeader[4] = (byte) totalSegmentCount;
udhHeader[5] = (byte) segmentNum;
byte[] message = CharsetUtil.encode(shortMessage, CharsetUtil.CHARSET_GSM);
ByteBuffer bb = ByteBuffer.allocate(udhHeader.length + message.length);
bb.put(udhHeader);
bb.put(message);
pdu.setShortMessage(bb.array());
}
示例9: setSegmentUdh08AndMessage
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
public static void setSegmentUdh08AndMessage(DeliverSm pdu, int msgRefNum, int segmentNum, int totalSegmentCount, String shortMessage)
throws SmppInvalidArgumentException {
// add UDHI bit to ESM class
byte esmClass = 0;
esmClass |= SmppConstants.ESM_CLASS_UDHI_MASK;
pdu.setEsmClass(esmClass);
byte[] udhHeader = new byte[7];
udhHeader[0] = 0x06; // the total length of data in UDH, not including
// the first byte of header (i.e. the byte
// containing the total length).
udhHeader[1] = 0x08; // IE identifier for concatenated messages
udhHeader[2] = 0x05; // length of data in IE
byte[] unsignedShortMsgRefNum = intToUnsignedShort(msgRefNum);
udhHeader[3] = unsignedShortMsgRefNum[0];
udhHeader[4] = unsignedShortMsgRefNum[1];
udhHeader[5] = (byte) totalSegmentCount;
udhHeader[6] = (byte) segmentNum;
byte[] message = CharsetUtil.encode(shortMessage, CharsetUtil.CHARSET_GSM);
ByteBuffer bb = ByteBuffer.allocate(udhHeader.length + message.length);
bb.put(udhHeader);
bb.put(message);
pdu.setShortMessage(bb.array());
}
示例10: mapDataCodingToCharset
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
public String mapDataCodingToCharset(byte dataCoding) {
switch (dataCoding) {
case SmppConstants.DATA_CODING_LATIN1:
return CharsetUtil.NAME_ISO_8859_1;
case SmppConstants.DATA_CODING_UCS2:
return CharsetUtil.NAME_UCS_2;
default:
return CharsetUtil.NAME_GSM;
}
}
示例11: firePduRequestReceived
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
@Override
public PduResponse firePduRequestReceived(PduRequest request) {
PduResponse response = null;
try {
if (request instanceof DeliverSm) {
if (request.getOptionalParameters() != null) {
Log.debug("SMS Message Delivered: "
+ request.getOptionalParameter(SmppConstants.TAG_RECEIPTED_MSG_ID).getValueAsString()
+ ", State: "
+ request.getOptionalParameter(SmppConstants.TAG_MSG_STATE).getValueAsByte());
} else {
String sourceAddress = ((DeliverSm) request).getSourceAddress().getAddress();
String message = CharsetUtil.decode(((DeliverSm) request).getShortMessage(),
smppClient.mapDataCodingToCharset(((DeliverSm) request).getDataCoding()));
Log.debug("SMS Message Received: " + message.trim() + ", Source Address: " + sourceAddress);
TextMessageEventHandler.handleTextMessage(sourceAddress, message);
}
}
response = request.createResponse();
} catch (Throwable error) {
Log.warning(error);
response = request.createResponse();
response.setResultMessage(error.getMessage());
response.setCommandStatus(SmppConstants.STATUS_UNKNOWNERR);
}
return response;
}
示例12: main
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
static public void main(String[] args) throws Exception {
byte[] vmpbytes = HexUtil.toByteArray("c3a2c282c2ac");
// i suspect vmp is double utf-8 encoding this
String decoded1 = CharsetUtil.decode(vmpbytes, CharsetUtil.CHARSET_UTF_8);
// now get raw bytes
logger.info("decode #1 length: " + decoded1.length());
byte[] nextbytes = decoded1.getBytes("ISO-8859-1");
logger.info("decode #1 bytes: " + HexUtil.toHexString(nextbytes));
}
示例13: main
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
static public void main(String[] args) throws Exception {
String sourceString = "h\u6025\u20ACllo";
String targetString = CharsetUtil.normalize(sourceString, CharsetUtil.CHARSET_UTF_8);
logger.debug("source string: " + sourceString);
logger.debug("target string: " + targetString);
}
示例14: main
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
static public void main(String[] args) throws Exception {
String str0 = "Hello @ World";
//Charset charset = new GSMCharset();
//Charset charset = new PackedGSMCharset();
//Charset charset = new ISO88591Charset();
//Charset charset = new UCS2Charset();
//Charset charset = new UTF8Charset();
//Charset charset = CharsetUtil.map(CharsetUtil.NAME_PACKED_GSM);
Charset charset = CharsetUtil.map(CharsetUtil.NAME_GSM);
int count = 100000;
long startTime = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
byte[] encoded = CharsetUtil.encode(str0, charset);
//byte[] encoded = charset.encode(str0);
//byte[] encoded = str0.getBytes("ISO-8859-1");
}
long stopTime = System.currentTimeMillis();
logger.info("To convert to bytes " + count + " times, took " + (stopTime-startTime) + " ms");
//logger.info("gsm: " + HexUtil.toHexString(gsmEncoded));
}
示例15: encode
import com.cloudhopper.commons.charset.CharsetUtil; //导入依赖的package包/类
@Override
public void encode(String[] strings, int count) throws Exception {
for (int i = 0; i < count; i++) {
for (String s : strings) {
byte[] b = CharsetUtil.encode(s, CharsetUtil.CHARSET_UTF_8);
}
}
}