Beispiel #1
0
        public static byte[] GetBytesFromString(string cStr, DataCoding dataCoding)
        {
            if (cStr == null)
            {
                throw new ArgumentNullException("cStr");
            }
            if (cStr.Length == 0)
            {
                return(new byte[] { 0x00 });
            }
            byte[] bytes = null;
            switch (dataCoding)
            {
            case DataCoding.ASCII:
                bytes = System.Text.Encoding.ASCII.GetBytes(cStr);
                break;

            case DataCoding.Latin1:
                bytes = Latin1Encoding.GetBytes(cStr);
                break;

            case DataCoding.UCS2:
                bytes = UCS2Encoding.GetBytes(cStr);
                break;

            case DataCoding.SMSCDefault:
                bytes = SMSCDefaultEncoding.GetBytes(cStr);
                break;

            default:
                throw new SmppException(SmppErrorCode.ESME_RUNKNOWNERR, "Unsupported encoding");
            }
            return(bytes);
        }
Beispiel #2
0
        private static byte[] EncodeString(DataCoding dataCoding, string str)
        {
            byte[] bytes;
            switch (dataCoding)
            {
            case DataCoding.Ascii:
                bytes = Encoding.ASCII.GetBytes(str);
                break;

            case DataCoding.Latin1:
                bytes = Latin1Encoding.GetBytes(str);
                break;

            case DataCoding.Ucs2:
                bytes = Encoding.BigEndianUnicode.GetBytes(str);
                break;

            case DataCoding.SmscDefault:
                bytes = SmscDefaultEncoding.GetBytes(str);
                break;

            default:
                throw new SmppException(SmppErrorCode.EsmeRunknownerr, "Unsupported encoding");
            }
            return(bytes);
        }
Beispiel #3
0
        public static byte[] GetBytesFromCString(string cStr, DataCoding dataCoding)
        {
            if (cStr == null)
            {
                throw new ArgumentNullException("cStr");
            }
            if (cStr.Length == 0)
            {
                return(new byte[] { 0x00 });
            }
            byte[] bytes = null;
            switch (dataCoding)
            {
            case DataCoding.ASCII:
                bytes = System.Text.Encoding.ASCII.GetBytes(cStr);
                break;

            case DataCoding.Latin1:
                bytes = Latin1Encoding.GetBytes(cStr);
                break;

            case DataCoding.UCS2:
                bytes = UCS2Encoding.GetBytes(cStr);
                break;

            case DataCoding.SMSCDefault:
                bytes = SMSCDefaultEncoding.GetBytes(cStr);
                break;

            default:
                throw new SmppException(SmppErrorCode.ESME_RUNKNOWNERR, "Unsupported encoding");
            }
            ByteBuffer buffer = new ByteBuffer(bytes, bytes.Length + 1);

            buffer.Append(new byte[] { 0x00 }); //Append a null charactor a the end
            return(buffer.ToBytes());
        }