亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mmsencoder.java

?? mms開源代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (C) 2008 Andrea Zito *  * This file is part of jMmsLib. * * jMmsLib is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as  * published by the Free Software Foundation, either version 3 of  * the License, or  (at your option) any later version. * * jMmsLib is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public  * License along with jMmsLib.  If not, see <http://www.gnu.org/licenses/>. */ package net.sourceforge.jmmslib;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.Date;import java.util.Iterator;/** * Encodes an MmsMessage class in a binary MMS object ready to be sent to an MMSC. * <p>The encoding follows the specification provided by  * <a href="http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html">Open Mobile Alliance</a>. Relevant documents are * <i>WAP-209-MMSEncapsulation-20020105-a</i> and <i>WAP-230-WSP-20010705-a</i>.</p> * <p> * 	A simple usage scenario of MmsEncoder is as follow: * 	<pre> * 	  MmsMessage mms = new MmsMessage(); * 	   * 	  //fill out mms fields... * 	  MmsEncoder mmsEncoder = new MmsEncoder(mms); * 	  byte[] encodedMMS = mmmsEncoder.encodeMessage(); * 	</pre * </p> * <p> * 	To see what are the supported fields and values of an mms refer to the documentation of MmsMessage * </p> *  * @author Andrea Zito * @see MmsMessage * @version 0.8 * */public class MmsEncoder {	/*=========================================================================	 * Header Name Constants	 *=========================================================================*/	protected static final byte H_BASE = (byte)0x80;		protected static final byte H_MMS_MESSAGE_TYPE = (byte)0x0C;	protected static final byte H_MMS_TRANSACTION_ID = (byte)0x18;	protected static final byte H_MMS_VERSION = (byte)0x0D;	protected static final byte H_MMS_DATE = (byte)0x05;		protected static final byte H_MMS_FROM = (byte)0x09;		protected static final byte H_MMS_TO = (byte)0x17;		protected static final byte H_MMS_CC = (byte)0x02;		protected static final byte H_MMS_BCC = (byte)0x01;			protected static final byte H_MMS_SUBJECT = (byte)0x16;			protected static final byte H_MMS_CLASS = (byte)0x0A;				protected static final byte H_MMS_EXPIRY = (byte)0x08;			protected static final byte H_MMS_DELIVERY_TIME = (byte)0x07;				protected static final byte H_MMS_PRIORITY = (byte)0x0F;			protected static final byte H_MMS_SENDER_VISIBILITY = (byte)0x14;				protected static final byte H_MMS_DELIVERY_REPORT = (byte)0x06;				protected static final byte H_MMS_READ_REPLY = (byte)0x10;				protected static final byte H_MMS_CONTENT_TYPE = (byte)0x04;				protected static final byte H_MMS_RESPONSE_STATUS = (byte)0x12;				protected static final byte H_MMS_RESPONSE_TEXT = (byte)0x13;			protected static final byte H_MMS_MESSAGE_ID = (byte)0x0B;		protected static final byte P_CHARSET = (byte)0x81;		/*=========================================================================	 * Header Value Constants	 *=========================================================================*/	public static final byte NULL_CHAR = (byte)0x00;		public static final byte CHARSET_US_ASCII = 0x03;	public static final byte CHARSET_UTF8 = 0x6A;		public static final byte MMS_MESSAGE_TYPE_SEND_REQUEST = (byte)0x80;	public static final byte MMS_MESSAGE_TYPE_SEND_CONF = (byte)0x81;	public static final byte MMS_VERSION_1 = (byte)0x90;	private static final byte MMS_SENDER_PRESENT = (byte)0x80;	private static final byte MMS_SENDER_INSERT = (byte)0x81;		public static final byte MMS_DELIVERY_REPORT_YES = (byte)0x80;	public static final byte MMS_DELIVERY_REPORT_NO = (byte)0x81;		public static final byte MMS_CLASS_PERSONAL = (byte)0x80;	public static final byte MMS_CLASS_ADVERISEMENT = (byte)0x81;	public static final byte MMS_CLASS_INFORMATIONAL = (byte)0x82;	public static final byte MMS_CLASS_AUTO = (byte)0x83;		private static final byte MMS_EXPIRY_TIME_ABSOLUTE = (byte)0x80;	private static final byte MMS_EXPIRY_TIME_RELATIVE = (byte)0x81;		private static final byte MMS_DELIVERY_TIME_ABSOLUTE = (byte)0x80;	private static final byte MMS_DELIVERY_TIME_RELATIVE = (byte)0x81;			public static final byte MMS_PRIORITY_LOW = (byte)128;	public static final byte MMS_PRIORITY_NORMAL = (byte)129;	public static final byte MMS_PRIORITY_HIGH = (byte)130;		public static final byte MMS_READ_REPLY_YES = (byte)128;	public static final byte MMS_READ_REPLY_NO = (byte)129;		public static final byte MMS_RESPONSE_STATUS_OK = (byte)0x80; 	public static final byte MMS_RESPONSE_STATUS_ERROR_UNSPECIFIED = (byte)0x81;	public static final byte MMS_RESPONSE_STATUS_ERROR_SERVICE_DENIED = (byte)0x82;	public static final byte MMS_RESPONSE_STATUS_ERROR_MESSAGE_FORMAT_CORRUPT = (byte)0x83;	public static final byte MMS_RESPONSE_STATUS_ERROR_SENDING_ADDRESS_UNRESOLVED = (byte)0x84;	public static final byte MMS_RESPONSE_STATUS_ERROR_MESSAGE_NOT_FOUND = (byte)0x85;	public static final byte MMS_RESPONSE_STATUS_ERROR_NETWORK_PROBLEM = (byte)0x86;	public static final byte MMS_RESPONSE_STATUS_ERROR_CONTENT_NOT_ACCEPTED = (byte)0x87;	public static final byte MMS_RESPONSE_STATUS_ERROR_UNSUPPORTED_MESSAGE = (byte)0x88; 		public static final byte MMS_SENDER_VISIBILITY_HIDE = (byte)128;	public static final byte MMS_SENDER_VISIBILITY_SHOW = (byte)129;		public static final String MMS_ADDRESS_TYPE_MOBILE_NUMBER = "/TYPE=PLMN";	public static final String MMS_ADDRESS_TYPE_MAIL = "";	public static final String MMS_ADDRESS_TYPE_IPV4 = "/TYPE=IPV4";	public static final String MMS_ADDRESS_TYPE_IPV6 = "/TYPE=IPV6";	/*=========================================================================	 * CONTENT TYPE CONSTANTS	 *=========================================================================*/		public static final byte CTYPE_UNKNOWN = 0x00;	public static final byte CTYPE_TEXT = 0x01;	public static final byte CTYPE_TEXT_HTML =  0x02;	public static final byte CTYPE_TEXT_PLAIN = 0x03;	public static final byte CTYPE_TEXT_WML =  0x08;	public static final byte CTYPE_IMAGE = 0x1C;	public static final byte CTYPE_IMAGE_JPEG = 0x1E;	public static final byte CTYPE_IMAGE_GIF  = 0x1D;	public static final byte CTYPE_IMAGE_TIFF = 0x1F;	public static final byte CTYPE_IMAGE_PNG  = 0x20;	public static final byte CTYPE_IMAGE_VND_WAP_WBMP = 0x21;	public static final byte CTYPE_MULTIPART =  0x0B;	public static final byte CTYPE_MULTIPART_MIXED = 0x0C;	public static final byte CTYPE_APPLICATION_MULTIPART_MIXED = 0x23;	public static final byte CTYPE_APPLICATION_MULTIPART_RELATED = 0x33;				/*=========================================================================	 * CLASS VARIABLES	 *=========================================================================*/	private MmsMessage mmsMessage;		/*=========================================================================	 * CONSTRUCTORS	 *=========================================================================*/	/**	 * Creates an MmsEncoder object for the specified MMS message	 */	public MmsEncoder(MmsMessage mms){		this.mmsMessage = mms;	}		/*=========================================================================	 * METHODS	 *=========================================================================*/	/**	 * Encodes the message type.	 * @return encoded byte	 * @see MmsMessage#setMessageType(String)	 */	private byte encodeMessageType(String messageType) throws MmsEncodingException{		if (messageType.equals(MmsMessage.MMS_MESSAGE_TYPE_SEND_REQUEST)) return MMS_MESSAGE_TYPE_SEND_REQUEST;		else if (messageType.equals(MmsMessage.MMS_MESSAGE_TYPE_SEND_CONF)) return MMS_MESSAGE_TYPE_SEND_CONF;		else throw new MmsEncodingException("Cannot encode message type: " + messageType);	}	/**	 * Encodes a long value in the LongInteger format as	 * specified by the WAP-203-WSP document.<br>	 * 	 * The fist field of the returned array contains the number of	 * 8-bit portions that forms the value	 * @param value long to be encoded	 * @return encoded byte array	 */	private static byte[] encodeLongInteger(long value){		byte[] buf = encodeMultiOctetInteger(value);		byte[] result = new byte[buf.length+1];		result[0] = (byte)buf.length;		System.arraycopy(buf, 0, result, 1, buf.length);		return result;	}		/**	 * Encodes a long value in the MultiOctetInteger format as	 * specified by the WAP-203-WSP document.<br>	 * 	 * The binary representation is splitted in 8-bit portions.	 * @param value long integer to be encoded	 * @return encoded byte array	 */	private static byte[] encodeMultiOctetInteger(long value){		byte[] buf = new byte[8]; 		long temp=0;		int count=0;		long mask=0;				if (value == 0) return new byte[]{0x0};				for (int i=1; i<=8; i++){			mask = ((0XFFFFFFFFFFFFFFFFL) >>> 64-(8*i));			temp = (value & mask) >>> (8*(i-1));			buf[i-1] = (byte)(temp);			if (temp==0) count++;			else count=0;		}				byte[] result = new byte[8-count];		int d = 0;		for (int i=7-count; i>=0; i--) result[d++] = buf[i];		return result;			}		/**	 * Encodes an unsigned integer in the "Uintvar" format as	 * specified by WAP-203-WDP document.<br>	 * 	 * The binary representation of the value is splitted in 	 * 7-bit portions. The most significant bit is setted to 1	 * in all the portions but the last.	 * 	 * Example: 0x87A5 (1000 0111 1010 0101)	 * 	 * <pre>	 * +---+---------+  +---+---------+  +---+---------+   	 * | 1 | 0000010 |  | 1 | 0001111 |  | 0 | 0100101 |	 * +-------------+  +---+---------+  +---+---------+	 * </pre>	 * @param value integer to encode	 * @return encoded byte array	 */	private static byte[] encodeUintvar(int value){		byte[] buf = new byte[5];		int temp=0;		int count=0;		int mask=0;		if (value == 0) return new byte[]{0x0};				for (int i=1; i<=5; i++){			mask = ((0XFFFFFFFF) >>> 32-(7*i));			temp = (value & mask) >>> (7*(i-1));			buf[i-1] = (byte)(0x80 | temp);			if (temp==0) count++;			else count=0;		}				buf[0] &= 0x7F;		byte[] result = new byte[5-count];		int d = 0;		for (int i=4-count; i>=0; i--) result[d++] = buf[i];		return result;	}	/**	 * Encode the MMS version.<br>	 *	 * Actually only version 1 is supported.	 * @param version MMS version of the message	 * @return encoded version byte	 * @throws MmsEncodingException MMS version not supported	 * @see MmsMessage#setVersion(String)	 */	private byte encodeVersion(String version) throws MmsEncodingException{		if (version.equals(MmsMessage.MMS_VERSION_1)) return MMS_VERSION_1;		else throw new MmsEncodingException("MMS version not supported: " + version);	}		/**	 * Encodes a date.<br> 	 * 	 * Dates are expressed in seconds as long integer values starting from 1970/01/01 00:00:00 GMT. 	 * 	 * @param d date to encode	 * @return encoded byte array	 */	private byte[] encodeDate(Date d){		long seconds = d.getTime()/1000;		byte[] encodedDate = encodeLongInteger(seconds);		return encodedDate;	}		/**	 * Encodes the sender visibility.	 *	 * @param visibility sender visibility	 * @return encoded byte	 * @throws MmsEncodingException Sender visibility not supported	 * @see MmsMessage#setSenderVisibility(String)	 */	private byte encodeSenderVisibility(String visibility) throws MmsEncodingException{		if (visibility.equals(MmsMessage.MMS_SENDER_VISIBILITY_SHOW))			return MMS_SENDER_VISIBILITY_SHOW;		else if (visibility.equals(MmsMessage.MMS_SENDER_VISIBILITY_HIDE))			return MMS_SENDER_VISIBILITY_HIDE;		else throw new MmsEncodingException("Sender visibility not supported: " + visibility);				}		/**	 * Encodes the message class.	 * 	 * @param msgClass message class	 * @return encoded byte	 * @throws MmsEncodingException Message class not supported	 * @see MmsMessage#setMessageClass(String)	 */	private byte encodeMessageClass(String msgClass) throws MmsEncodingException{		if (msgClass.equals(MmsMessage.MMS_CLASS_PERSONAL)) return MMS_CLASS_PERSONAL;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区八戒影视| 精品一区二区三区日韩| 久久夜色精品国产欧美乱极品| 欧美主播一区二区三区| 99久久精品免费| 风间由美性色一区二区三区| 激情欧美一区二区| 韩国一区二区视频| 91视频.com| 欧美日韩国产精品自在自线| 欧美伊人久久久久久午夜久久久久| voyeur盗摄精品| av在线播放成人| 日韩一区二区在线观看| 精品国产青草久久久久福利| 2024国产精品| 日韩专区一卡二卡| 麻豆国产欧美一区二区三区| 国产精品亚洲第一| 成人a区在线观看| 在线观看欧美精品| 国产亚洲午夜高清国产拍精品| 亚洲成人www| 狠狠狠色丁香婷婷综合久久五月| 欧美丝袜丝nylons| 亚洲六月丁香色婷婷综合久久 | 成人午夜精品在线| 91在线免费视频观看| 国产丝袜在线精品| 国产一区二区电影| 色狠狠一区二区三区香蕉| 欧美色窝79yyyycom| 最新国产成人在线观看| 亚洲色图另类专区| 不卡视频一二三四| 国产精品免费人成网站| 一区二区三区久久| 韩国欧美国产一区| 精品久久久久久无| 亚洲愉拍自拍另类高清精品| 国产在线精品一区在线观看麻豆| 日韩一区二区在线免费观看| 美女一区二区视频| 精品国产乱码久久久久久影片| 精品无人码麻豆乱码1区2区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲激情在线激情| 91久久人澡人人添人人爽欧美| 一区二区三区.www| 欧美一区二区三区视频在线观看| 国产精品理论片| 精品一区二区影视| 日本一区二区三区四区在线视频 | 欧美色视频一区| 国产精品热久久久久夜色精品三区| 国产成人亚洲综合a∨婷婷| 91精品国产综合久久福利| 美女一区二区三区在线观看| 国产女主播一区| 91福利精品第一导航| 午夜精品影院在线观看| 91久久久免费一区二区| 青青草国产精品亚洲专区无| 欧美三级视频在线播放| 久久成人精品无人区| 欧美日韩国产综合一区二区三区| 奇米综合一区二区三区精品视频| 日本一区二区三区在线不卡| 欧美三级午夜理伦三级中视频| 国产一区二三区好的| 亚洲色欲色欲www| 日韩午夜激情av| 99久久久无码国产精品| 亚洲成av人**亚洲成av**| 久久综合视频网| 欧美在线999| 国产高清不卡一区| 青青青爽久久午夜综合久久午夜| 中国色在线观看另类| 69堂精品视频| 免费看日韩a级影片| 国产精品久久久久久久久免费桃花 | 亚洲女人****多毛耸耸8| 丁香六月久久综合狠狠色| 亚洲综合久久av| 国产午夜精品一区二区三区嫩草| 在线观看亚洲精品| 国产91高潮流白浆在线麻豆| 奇米在线7777在线精品| 一区二区三区在线视频免费| 久久久久免费观看| 99久久国产综合精品女不卡| 老司机免费视频一区二区三区| 亚洲精品亚洲人成人网| 久久久久久综合| 精品理论电影在线观看| 欧美日本免费一区二区三区| 99re亚洲国产精品| 丰满少妇在线播放bd日韩电影| 美女性感视频久久| 日韩制服丝袜av| 亚洲成精国产精品女| 日韩一区中文字幕| 国产精品视频在线看| 久久综合九色综合久久久精品综合| 欧美日韩黄视频| 欧美亚洲动漫精品| 久久久久久久久久美女| 精品国产乱码久久久久久老虎 | 国产女主播在线一区二区| 精品毛片乱码1区2区3区| 欧美一区二区三区在线电影| 欧美日韩国产a| 7777精品伊人久久久大香线蕉超级流畅 | 一区二区三区在线观看网站| 国产精品理论在线观看| 一色桃子久久精品亚洲| 国产精品久久久久aaaa樱花 | 久久久国产精华| 久久久久久一二三区| 久久久91精品国产一区二区三区| 久久香蕉国产线看观看99| 精品国产露脸精彩对白| 久久久777精品电影网影网| 国产偷国产偷精品高清尤物 | 亚洲成人www| 日韩精品高清不卡| 卡一卡二国产精品| 国产丶欧美丶日本不卡视频| 国产美女精品在线| 99精品视频一区| 在线观看视频欧美| 91麻豆精品国产91| 久久久午夜电影| 亚洲天堂网中文字| 日韩中文字幕区一区有砖一区| 捆绑变态av一区二区三区| 成人午夜私人影院| 欧美性欧美巨大黑白大战| 4hu四虎永久在线影院成人| 精品欧美一区二区在线观看| 国产人妖乱国产精品人妖| 亚洲美腿欧美偷拍| 日本vs亚洲vs韩国一区三区二区| 国产麻豆精品在线观看| 99re6这里只有精品视频在线观看| 欧美色视频一区| 久久久久久久综合日本| 亚洲男人的天堂在线aⅴ视频| 日韩精品免费视频人成| 国产很黄免费观看久久| 日本道在线观看一区二区| 欧美一级搡bbbb搡bbbb| 中文字幕在线不卡一区 | 一区二区三区影院| 国产综合成人久久大片91| 色综合婷婷久久| av成人免费在线观看| 7777精品伊人久久久大香线蕉 | 最近日韩中文字幕| 日韩精品成人一区二区三区| 国产99精品在线观看| 欧美区一区二区三区| 国产日产欧美一区二区视频| 亚洲福利电影网| 首页国产欧美久久| 国产成人精品三级麻豆| 在线观看91精品国产麻豆| 制服丝袜av成人在线看| 国产精品国产三级国产有无不卡 | 狠狠色丁香久久婷婷综合_中 | 国产精品伊人色| 91麻豆精品国产自产在线| 日韩美女啊v在线免费观看| 秋霞午夜av一区二区三区 | 99国产欧美另类久久久精品| 日韩一区二区免费电影| 亚洲午夜久久久久| 91亚洲精品久久久蜜桃网站 | 精品日产卡一卡二卡麻豆| 亚洲综合色区另类av| 成人黄页毛片网站| 久久久久久夜精品精品免费| 日韩av中文在线观看| 国产一区高清在线| 欧美成人精精品一区二区频| 亚洲成人自拍偷拍| 91久久精品午夜一区二区| 中文字幕的久久| 一区二区不卡在线播放| 菠萝蜜视频在线观看一区| 欧美精品一区二区三区久久久| 五月婷婷色综合| 欧美亚洲愉拍一区二区| 亚洲美女偷拍久久| 99久久免费视频.com| 日韩伦理av电影| 色婷婷国产精品久久包臀| 日韩欧美国产综合| 中文字幕在线不卡国产视频|