mms彩信发送 java_MMS彩信字符集(字符编码)

标签:

彩信字符集在CharacterSets类中定义

android\frameworks\opt\telephony\src\java\com\google\android\mms\pdu\CharacterSets.java

public classCharacterSets {/*** IANA assigned MIB enum numbers.

*

* From wap-230-wsp-20010705-a.pdf

* Any-charset =

* Equivalent to the special RFC2616 charset value "*"*/

public static final int ANY_CHARSET = 0x00;public static final int US_ASCII = 0x03;public static final int ISO_8859_1 = 0x04;public static final int ISO_8859_2 = 0x05;public static final int ISO_8859_3 = 0x06;public static final int ISO_8859_4 = 0x07;public static final int ISO_8859_5 = 0x08;public static final int ISO_8859_6 = 0x09;public static final int ISO_8859_7 = 0x0A;public static final int ISO_8859_8 = 0x0B;public static final int ISO_8859_9 = 0x0C;public static final int SHIFT_JIS = 0x11;public static final int UTF_8 = 0x6A;public static final int BIG5 = 0x07EA;public static final int UCS2 = 0x03E8;public static final int UTF_16 = 0x03F7;/*** If the encoding of given data is unsupported, use UTF_8 to decode it.*/

public static final int DEFAULT_CHARSET =UTF_8; //------------ 默认字符编码 utf-8 -----------/*** The Well-known-charset Mime name.*/

public static final String MIMENAME_ANY_CHARSET = "*";public static final String MIMENAME_US_ASCII = "us-ascii";public static final String MIMENAME_ISO_8859_1 = "iso-8859-1";public static final String MIMENAME_ISO_8859_2 = "iso-8859-2";public static final String MIMENAME_ISO_8859_3 = "iso-8859-3";public static final String MIMENAME_ISO_8859_4 = "iso-8859-4";public static final String MIMENAME_ISO_8859_5 = "iso-8859-5";public static final String MIMENAME_ISO_8859_6 = "iso-8859-6";public static final String MIMENAME_ISO_8859_7 = "iso-8859-7";public static final String MIMENAME_ISO_8859_8 = "iso-8859-8";public static final String MIMENAME_ISO_8859_9 = "iso-8859-9";public static final String MIMENAME_SHIFT_JIS = "shift_JIS";public static final String MIMENAME_UTF_8 = "utf-8";public static final String MIMENAME_BIG5 = "big5";public static final String MIMENAME_UCS2 = "iso-10646-ucs-2";public static final String MIMENAME_UTF_16 = "utf-16";public static final String DEFAULT_CHARSET_NAME = MIMENAME_UTF_8;

再看看MMS发送代码中的处理

android\packages\apps\Mms\src\com\android\mms\transaction\HttpUtils.java

private staticAndroidHttpClient createHttpClient(Context context) {

String userAgent=MmsConfig.getUserAgent();

AndroidHttpClient client=AndroidHttpClient.newInstance(userAgent, context);

HttpParams params=client.getParams();

HttpProtocolParams.setContentCharset(params,"UTF-8"); //-------- 默认UTF-8 ----------

//set the socket timeout int soTimeout =MmsConfig.getHttpSocketTimeout();if(Log.isLoggable(LogTag.TRANSACTION, Log.DEBUG)) { Log.d(TAG,"[HttpUtils] createHttpClient w/ socket timeout " + soTimeout + " ms, " + ", UA=" +userAgent); } HttpConnectionParams.setSoTimeout(params, soTimeout);returnclient; }

还有彩信数据TextModel封装处理

android\packages\apps\Mms\src\com\android\mms\model\TextModel.java

publicTextModel(Context context, String contentType, String src, RegionModel region) {this(context, contentType, src, CharacterSets.UTF_8, new byte[0], region); //------ 默认 UTF-8 ------

}publicTextModel(Context context, String contentType, String src,int charset, byte[] data, RegionModel region) {super(context, SmilHelper.ELEMENT_TAG_TEXT, contentType, src,

data!= null ? data : new byte[0], region);if (charset ==CharacterSets.ANY_CHARSET) { //--- 对于这种指定编码的,如果为ANY_CHARSET,则默认ISO_8859_1//By default, we use ISO_8859_1 to decode the data//which character set wasn‘t set.

charset =CharacterSets.ISO_8859_1;

}

mCharset=charset;

mText=extractTextFromData(data);

mSize=mText.toString().getBytes().length;

}

标签:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值