当前位置: 首页>>代码示例>>Java>>正文


Java CharsetUtil类代码示例

本文整理汇总了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");
    }
}
 
开发者ID:bamartinezd,项目名称:traccar-service,代码行数:23,代码来源:SmppClient.java

示例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));
        }
    }
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:17,代码来源:Charset3Main.java

示例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");
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:21,代码来源:BenchmarkMain.java

示例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));
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:18,代码来源:Charset2Main.java

示例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;
}
 
开发者ID:MavoCz,项目名称:smscsim,代码行数:18,代码来源:DeliverSegmentedMessageFactory.java

示例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);
	}
}
 
开发者ID:MavoCz,项目名称:smscsim,代码行数:17,代码来源:SmscSegmentedDeliverSender.java

示例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));
		}
	}
}
 
开发者ID:MavoCz,项目名称:smscsim,代码行数:17,代码来源:SmscSegmentedDeliverSender.java

示例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());
}
 
开发者ID:MavoCz,项目名称:smscsim,代码行数:30,代码来源:SmppPduUtils.java

示例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());
}
 
开发者ID:MavoCz,项目名称:smscsim,代码行数:27,代码来源:SmppPduUtils.java

示例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;
    }
}
 
开发者ID:bamartinezd,项目名称:traccar-service,代码行数:11,代码来源:SmppClient.java

示例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;
}
 
开发者ID:bamartinezd,项目名称:traccar-service,代码行数:28,代码来源:ClientSmppSessionHandler.java

示例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));
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:13,代码来源:Charset6Main.java

示例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);
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:9,代码来源:Charset5Main.java

示例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));
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:30,代码来源:CharsetMain.java

示例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);
        }
    }
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:9,代码来源:UTF8BenchmarkMain.java


注:本文中的com.cloudhopper.commons.charset.CharsetUtil类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。