1.一種代碼轉(zhuǎn)換方法,其特征在于,所述方法包括:
接收用戶輸入的對(duì)源編碼格式的源代碼進(jìn)行格式轉(zhuǎn)換的請(qǐng)求;所述請(qǐng)求中攜帶有所述源代碼和目標(biāo)編碼格式的標(biāo)識(shí),所述目標(biāo)編碼格式的標(biāo)識(shí)對(duì)應(yīng)的編碼格式與所述源編碼格式不同;
根據(jù)所述源編碼格式對(duì)所述源代碼進(jìn)行分析,得到所述源代碼中包含的數(shù)據(jù)字符串和所述源編碼格式的語(yǔ)法字符串;
將所述源編碼格式的語(yǔ)法字符串轉(zhuǎn)換為目標(biāo)編碼格式對(duì)應(yīng)的語(yǔ)法字符串;所述目標(biāo)編碼格式為目標(biāo)編碼格式的標(biāo)識(shí)對(duì)應(yīng)的編碼格式;
將所述數(shù)據(jù)字符串和所述目標(biāo)編碼格式對(duì)應(yīng)的語(yǔ)法字符串結(jié)合生成目標(biāo)編碼格式的目標(biāo)代碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述源編碼格式對(duì)所述源代碼進(jìn)行分析,得到所述源代碼中包含的數(shù)據(jù)字符串和所述源編碼格式的語(yǔ)法字符串,包括:
對(duì)所述源代碼進(jìn)行正則匹配;
在所述源代碼中獲取所述源編碼格式對(duì)應(yīng)的第一預(yù)設(shè)字符串和第二預(yù)設(shè)字符串;獲取的第一預(yù)設(shè)字符串的個(gè)數(shù)與獲取的第二預(yù)設(shè)字符串的個(gè)數(shù)相同;
將獲取到的第一預(yù)設(shè)字符串按照獲取的時(shí)間順序進(jìn)行排序,以及將獲取到的第二預(yù)設(shè)字符串按照獲取的時(shí)間順序進(jìn)行排序;
將次序相同第一預(yù)設(shè)字符串和第二預(yù)設(shè)字符串組成預(yù)設(shè)字符串組;
對(duì)于每一個(gè)預(yù)設(shè)字符串組,將所述預(yù)設(shè)字符串組中的第一預(yù)設(shè)字符串、第二預(yù)設(shè)字符串以及位于所述預(yù)設(shè)字符串組中的第一預(yù)設(shè)字符串和第二預(yù)設(shè)字符串之間的字符串分別確定為所述源編碼格式的語(yǔ)法字符串;
將所述源代碼中的除確定出的源編碼格式的語(yǔ)法字符串之外的字符串確定為數(shù)據(jù)字符串。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述源編碼格式對(duì)所述源代碼進(jìn)行分析,得到所述源代碼中包含的數(shù)據(jù)字符串和所述源編碼格式的語(yǔ)法字符串,包括:
構(gòu)建所述源代碼對(duì)應(yīng)的抽象語(yǔ)法樹;
從所述抽象語(yǔ)法樹中獲取所述源代碼中的數(shù)據(jù)字符串和所述源編碼格式的語(yǔ)法字符串。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述構(gòu)建所述源代碼對(duì)應(yīng)的抽象語(yǔ)法樹,包括:
獲取預(yù)設(shè)分析法;
根據(jù)所述預(yù)設(shè)分析法創(chuàng)建狀態(tài)機(jī);
將所述源代碼中的所有字符串依次輸入狀態(tài)機(jī);
檢測(cè)是否將所述源代碼中的所有字符串全部輸入至所述狀態(tài)機(jī);
當(dāng)將所述源代碼中的所有字符串全部輸入至所述狀態(tài)機(jī)時(shí),根據(jù)所述狀態(tài)機(jī)輸出的字符串生成所述源代碼對(duì)應(yīng)的抽象語(yǔ)法樹。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述將所述源編碼格式的語(yǔ)法字符串轉(zhuǎn)換為目標(biāo)編碼格式對(duì)應(yīng)的語(yǔ)法字符串,包括:
獲取預(yù)先設(shè)置的源編碼格式的語(yǔ)法字符串與目標(biāo)編碼格式的語(yǔ)法字符串之間的對(duì)應(yīng)關(guān)系;
在所述對(duì)應(yīng)關(guān)系中獲取每個(gè)所述源編碼格式的語(yǔ)法字符串對(duì)應(yīng)的目標(biāo)編碼格式的語(yǔ)法字符串;
對(duì)于獲取的每一個(gè)目標(biāo)編碼格式的語(yǔ)法字符串,在所述抽象語(yǔ)法樹中,利用所述目標(biāo)編碼格式的語(yǔ)法字符串替換與所述目標(biāo)編碼格式的語(yǔ)法字符串對(duì)應(yīng)的源編碼格式的語(yǔ)法字符串。
6.一種代碼轉(zhuǎn)換裝置,其特征在于,所述裝置包括:
接收模塊,用于接收用戶輸入的對(duì)源編碼格式的源代碼進(jìn)行格式轉(zhuǎn)換的請(qǐng)求;所述請(qǐng)求中攜帶有所述源代碼和目標(biāo)編碼格式的標(biāo)識(shí),所述目標(biāo)編碼格式的標(biāo)識(shí)對(duì)應(yīng)的編碼格式與所述源編碼格式不同;
分析模塊,用于根據(jù)所述源編碼格式對(duì)所述源代碼進(jìn)行分析,得到所述源代碼中包含的數(shù)據(jù)字符串和所述源編碼格式的語(yǔ)法字符串;
轉(zhuǎn)換模塊,用于將所述源編碼格式的語(yǔ)法字符串轉(zhuǎn)換為目標(biāo)編碼格式對(duì)應(yīng)的語(yǔ)法字符串;所述目標(biāo)編碼格式為目標(biāo)編碼格式的標(biāo)識(shí)對(duì)應(yīng)的編碼格式;
結(jié)合模塊,用于將所述數(shù)據(jù)字符串和所述目標(biāo)編碼格式對(duì)應(yīng)的語(yǔ)法字符串結(jié)合生成 目標(biāo)編碼格式的目標(biāo)代碼。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述分析模塊包括:
正則匹配單元,用于對(duì)所述源代碼進(jìn)行正則匹配;
第一獲取單元,用于在所述源代碼中獲取所述源編碼格式對(duì)應(yīng)的第一預(yù)設(shè)字符串和第二預(yù)設(shè)字符串;獲取的第一預(yù)設(shè)字符串的個(gè)數(shù)與獲取的第二預(yù)設(shè)字符串的個(gè)數(shù)相同;
排序單元,用于將獲取到的第一預(yù)設(shè)字符串按照獲取的時(shí)間順序進(jìn)行排序,以及將獲取到的第二預(yù)設(shè)字符串按照獲取的時(shí)間順序進(jìn)行排序;
組成單元,用于將次序相同第一預(yù)設(shè)字符串和第二預(yù)設(shè)字符串組成預(yù)設(shè)字符串組;
第一確定單元,用于對(duì)于每一個(gè)預(yù)設(shè)字符串組,將所述預(yù)設(shè)字符串組中的第一預(yù)設(shè)字符串、第二預(yù)設(shè)字符串以及位于所述預(yù)設(shè)字符串組中的第一預(yù)設(shè)字符串和第二預(yù)設(shè)字符串之間的字符串分別確定為所述源編碼格式的語(yǔ)法字符串;
第二確定單元,用于將所述源代碼中的除確定出的源編碼格式的語(yǔ)法字符串之外的字符串確定為數(shù)據(jù)字符串。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述分析模塊包括:
構(gòu)建單元,用于構(gòu)建所述源代碼對(duì)應(yīng)的抽象語(yǔ)法樹;
第二獲取單元,用于從所述抽象語(yǔ)法樹中獲取所述源代碼中的數(shù)據(jù)字符串和所述源編碼格式的語(yǔ)法字符串。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述構(gòu)建單元包括:
獲取子單元,用于獲取預(yù)設(shè)分析法;
創(chuàng)建子單元,用于根據(jù)所述預(yù)設(shè)分析法創(chuàng)建狀態(tài)機(jī);
輸入子單元,用于將所述源代碼中的所有字符串依次輸入狀態(tài)機(jī);
檢測(cè)子單元,用于檢測(cè)是否將所述源代碼中的所有字符串全部輸入至所述狀態(tài)機(jī);
生成子單元,用于當(dāng)將所述源代碼中的所有字符串全部輸入至所述狀態(tài)機(jī)時(shí),根據(jù)所述狀態(tài)機(jī)輸出的字符串生成所述源代碼對(duì)應(yīng)的抽象語(yǔ)法樹。
10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述轉(zhuǎn)換模塊包括:
第三獲取單元,用于獲取預(yù)先設(shè)置的源編碼格式的語(yǔ)法字符串與目標(biāo)編碼格式的語(yǔ)法字符串之間的對(duì)應(yīng)關(guān)系;
第四獲取單元,用于在所述對(duì)應(yīng)關(guān)系中獲取每個(gè)所述源編碼格式的語(yǔ)法字符串對(duì)應(yīng)的目標(biāo)編碼格式的語(yǔ)法字符串;
替換單元,用于對(duì)于獲取的每一個(gè)目標(biāo)編碼格式的語(yǔ)法字符串,在所述抽象語(yǔ)法樹中,利用所述目標(biāo)編碼格式的語(yǔ)法字符串替換與所述目標(biāo)編碼格式的語(yǔ)法字符串對(duì)應(yīng)的源編碼格式的語(yǔ)法字符串。