鈴聲圖片格式
Motorola
普通鈴聲格式
【格式】
<Header><Tempo Value><Musical Data><Delimiter><Checksum>
【說(shuō)明】
Header: unsigned char 4Byte (所有的鈴聲都是一樣的header)
Values: 4c 33 35 26 -->"L35"
Tempo Value: unsigned char 2Byte 拍子,由1或2或3或4加空格構(gòu)成,缺省為2,
Values: 32 20 -->"2 "
Musical Data:nByte 二進(jìn)制數(shù)據(jù)
Delimiter: unsigned char 2 Byte 分隔符 values: 26 26 -->""
Checksum:
2Byte 對(duì)Musical Data進(jìn)行的校驗(yàn)和,兩個(gè)字節(jié)。方法為對(duì)Musical
Data中的數(shù)據(jù)從前往后對(duì)每個(gè)字符進(jìn)行異或運(yùn)算,運(yùn)算的結(jié)果假設(shè)其十六進(jìn)制的表示為XY,那Checksum的第一個(gè)字節(jié)的十六進(jìn)制形式為3Y,第二個(gè)
字節(jié)的十六進(jìn)制形式為3X。
計(jì)算方式:
Step1: Calculate one byte XOR sum of the all the bytes of the musical data starting after
the space in the tempo value(not including space) till the (not inclusive of ). Let
us say this is XY.
Step 2: Separate X and Y into two bytes X0 and 0Y.
Step 3: Take 0Y and add hex 30. This becomes 3Y. Call this byte 1.
Step 4: Take X0 and shift right by 4 bits. This becomes 0X.
Step 5: Add hex 30 to 0X. This becomes 3X. Call this byte 2.
Step 6: Two byte checksum is <byte 2><byte1>
NOKIA
普通鈴聲格式
普通圖片(Operator Logo)
【格式】
<command><o(jì)tb_bmp >
【說(shuō)明】
<command> = <UDH><IEI><IEIL><IED>< MCC> < MNC>
UDHI IEI IEIL IED MCC MNC
06H 05H 04H 1582H 0000H 64F0 00
以上適用于china moblie
UDHI: byte length of user-data header define: 06H (用戶(hù)數(shù)據(jù)頭)
IEI: byte Information Element Identifier define; 05h (IE info )
IEIL: byte length of IEI data define: 04h (IE長(zhǎng)度)
IED: unsinge int 2 bytes , octets 4 5 define: 5506--> 1582H - destination port
IED: unsinge int 2 bytes , octets 6 7 define: 0000 - originator port
MCC: (Mobile
Country Code), octets 14 and 15, little-endian BCD, filled with F16',
460 -> 64 F0, For ChinaNotice: To see the logo on the phone's screen,
octets 8 and 9 must be defined with the settings of the current
operator. (國(guó)家代碼)
MNC: Mobile Network Code) coding, little-endian BCD, filled with F16', 00->00, For ChinaMobile is 00, China CUGSM is 01 (網(wǎng)絡(luò)代碼)
Otb-bmp:otb格式,
<OTA Bitmap> ::= <header> <image-data > [ <palette > ]
<header> ::= <infofield >[extfield]<width><height ><depth>
infofield 8bit 圖片信息區(qū)具體表示如下:
Bit Info Field , description
7 分割標(biāo)志 1:分割圖片(后面還有)0:否
6 壓縮標(biāo)志 1:壓縮 0:沒(méi)有壓縮
5 擴(kuò)展調(diào)色板 1:使用 0:沒(méi)有使用
4 Max size of icon 1:16bit ,0:8bit
3 Number of animated icons, msb
2 Number of animated icons
1 Number of animated icons
0 Number of animated icons,lst
Extended infofield 8bit 圖片信息區(qū)具體表示如下:
Bit ExtField , description
7 分割標(biāo)志 1:分割圖片(后面還有)0:否
6 Bmp版本
5 Bmp版本
4 Bmp
3 保留
2 保留
1 保留
0 保留
Width: 圖片的寬度。對(duì)于Operator Log Width =72 48H
Height: 圖片的高度。 對(duì)于Operator Log Heigth=14 04H
Depth: 圖片的深度,灰度值或者顏色數(shù)。
Image-Data:圖片點(diǎn)陣
,當(dāng)圖片的大小為72X14時(shí)候,每一個(gè)byte就表示8個(gè)點(diǎn),一行有72個(gè)點(diǎn),因此每行需要9bytes,由于是14行,因此需要的大小是9X14=126bytes。每一個(gè)bit,1表示黑色,0表示白色。
Alcatel
普通鈴聲格式
【格式】
<Tp-UDL><TP-UDHL>
<TDD-IEI><TDD-Length><TDD-Name-Length><TDD-Name><TDD-Data_Type><TDD-Data-Length>
< Concatenation -IEI >< Concatenation-Length >< Concatenation-Reference Number >]
< Concatenation-Maximum Number >< Concatenation-Sequence Number >
<TDD-Data>
【說(shuō)明】
TP-UDL Byte //短信長(zhǎng)度 user data length max:-140
TP-UDHL Byte //短信頭長(zhǎng)度 user data head length
-----------------------------------------------------------------------------------------------------------------
TDD-IEI Byte //阿爾卡特 sms標(biāo)示 =80 type ”download”
TDD-Length Byte // IE Length of the TDD_Header ----end of IE
TDD-Name-Length Byte //Title/name length 標(biāo)頭名字長(zhǎng)度
TDD-Name unsigned char [TDD-Name-Length] //標(biāo)頭名稱(chēng) {字符 }
TDD-Data-Type Byte //TDD_Data_Type
注釋: Bit 7:
0: cannot be forwarded
1: can be forwared using EMS
如果兼容EMS就設(shè)置為1
Bit 4-6 unused
Bit 0-2
000:iMelody melody
001:iAlcatel Melody
010:MSEQ melody
011:VOX melody
100: Alcatel Picture
101:Alcatel animation
110:sms template
111.unused
TDD-Data-Length = unsigned int 2 byte //TDD_data數(shù)據(jù) 長(zhǎng)度
Byte 1: MSB
Byte 2: LSB
// End of TDD header IE
// Start of Concatenation header IE //以下只是用于坼分短信
Concatenation-IEI Byte //IEI=00
Concatenation-Length Byte //IEDL=03
Concatenation-Reference Number Byte // 序列號(hào)??(same as all segrments)125
Concatenation-Maximum Number Byte //總條數(shù) (same as all segrments)
Concatenation-Sequence Number Byte //當(dāng)前序列號(hào)
// End of Concatenation header IE
// End of User Data Header
TDD-Data = //TDD_DATA 數(shù)據(jù) 二進(jìn)制流
普通圖片
(同鈴聲格式)
SIEMENS
普通鈴聲格式
【格式】
<Identifier><Version><DataSize><ReferenceID><ActPacketNumber><NumberOfPackets><ObjectSize> <ObjectType><ObjectName><Data>
---------------------------------------------------------------------------------------------------------------------------------
【說(shuō)明】
Identifier: ASCII 5 byte 標(biāo)識(shí)。設(shè)為”//SEO”(注意大小寫(xiě))(SEQ stands for Siemens Exchange OBject)
Version: unsigned char 版本號(hào)。設(shè)為1
DataSize: unsigned int 2 byte 數(shù)據(jù)大小。每個(gè)包里可mid數(shù)據(jù)的大小,對(duì)于同一mid的不同包的該值相同,最后一個(gè)包里實(shí)際剩余數(shù)據(jù)大小不足時(shí),添0補(bǔ)足
最大值為:140-22-Length(objname)-Leng(objType) in Byte
ReferenceID:unsigned long 4字節(jié) 序列號(hào)。可自行設(shè)定,對(duì)同一首mid的不同包的該值相同
ActPacketNumber:unsigned int 2字節(jié)當(dāng)前包是第幾包。從1開(kāi)始計(jì)數(shù)
NumberOfPackets:unsigned int 2字節(jié) 總包數(shù)。
ObjectSize:unsigned long 4字節(jié)mid的大小。The total of the dataobject in Byte
ObjectType:string 1Byte+x (x>0) 類(lèi)型為mid。。第一字節(jié)為長(zhǎng)度,因?yàn)轭?lèi)型為”mid”所以第一字節(jié)為3,第二至第四字節(jié)為”mid”
ObjectNam string 1byte+y mid的名稱(chēng),包括擴(kuò)展名。長(zhǎng)度不定。第一個(gè)字節(jié)為長(zhǎng)度。如歌曲為”甜蜜蜜.mid”,則ObjectName的長(zhǎng)度為10,第一個(gè)字節(jié)為10。第二至十個(gè)字節(jié)為” 甜蜜蜜.mid”
Resulting size: 22 Byte +x+y
Data:mid數(shù)據(jù)。從mid文件中拆分出來(lái)的數(shù)據(jù)。
普通圖片
【格式】
<Identifier><Version><DataSize><ReferenceID><ActPacketNumber><NumberOfPackets><ObjectSize> <ObjectType><ObjectName><Data>
-------------------------------------------------------------------------------------------------------------------------------------
【說(shuō)明】
Identifier: ASCII 5 byte 標(biāo)識(shí)。設(shè)為”//SEO”(注意大小寫(xiě))(SEQ stands for Siemens Exchange OBject)
Version: unsigned char 1 byte 版本號(hào)。設(shè)為1
DataSize: unsigned int 2 byte 數(shù)據(jù)大小。每個(gè)包里可bmp數(shù)據(jù)的大小,對(duì)于的不同包的該值相同,最后一個(gè)包里實(shí)際剩余數(shù)據(jù)大小不足時(shí),添0補(bǔ)足
最大值為:140-22-Length(objname)-Leng(objType) in Byte
ReferenceID:unsigned long 4字節(jié) 序列號(hào)。可自行設(shè)定,對(duì)同一副圖片的不同包的該值相同
ActPacketNumber:unsigned int 2字節(jié)當(dāng)前包是第幾包。從1開(kāi)始計(jì)數(shù)
NumberOfPackets:unsigned int 2字節(jié) 總包數(shù)。
ObjectSize:unsigned long 4字節(jié)mid的大小。The total of the dataobject in Byte
ObjectType:string 1Byte+x (x>0) 類(lèi)型為bmp。。第一字節(jié)為長(zhǎng)度,因?yàn)轭?lèi)型為”bmp”所以第一字節(jié)為3,第二至第四字節(jié)為”bmp”
ObjectName string 1byte+y mid的名稱(chēng),包括擴(kuò)展名。長(zhǎng)度不定。第一個(gè)字節(jié)為長(zhǎng)度。如歌曲為”1234.bmp”,則ObjectName的長(zhǎng)度為8,第一個(gè)字節(jié)為8。第二至十個(gè)字節(jié)為”1234.bmp”
Resulting size: 22 Byte +x+y
Data:mid數(shù)據(jù)。從bmp文件中拆分出來(lái)的數(shù)據(jù)。