• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    西西首頁 常用軟件 軟件下載 安卓軟件 游戲下載 安卓游戲 MAC應用 驅動下載 安卓電視
    系統工具網絡工具媒體工具圖形圖像聊天工具應用軟件編程開發手機軟件安卓應用電腦安全字體素材

    pak文件解析工具

    Python版
    • pak文件解析工具Python版
    • 軟件大小:16KB
    • 更新時間:2019-07-06 09:40
    • 軟件語言:中文
    • 軟件廠商:
    • 軟件類別:國產軟件 / 免費軟件 / 編程工具
    • 軟件等級:3級
    • 應用平臺:WinXP, Win7, win8
    • 官方網站:暫無
    好評:50%
    壞評:50%

    裝機必備軟件

    軟件介紹

    pak文件解析工具,由吾愛大神編輯制作,能夠解析pak文件,由Python環境制作,使用相應的編輯軟件即可加載并解析,另外還附帶一個pak的測試解析文件,可以通過代碼來進行解析測試效果,有相關pak文件解析工具使用需求的朋友們不妨試試吧!

    pak文件解析工具

    pak文件解析代碼介紹:

    importos

    importstruct

    classBinary:

        def__init__(self, data: [bytearray, bytes,str]):

            self.index=0

            ifisinstance(data, bytearray):

                self.data=data

            elifisinstance(data, bytes):

                self.data=bytearray(data)

            elifisinstance(data,str):

                self.data=bytearray(data.encode(encoding='utf-8'))

            else:

                raiseTypeError('data type is invalid:', data.__class__.__name__)

            self.size=len(self.data)

        defread_int8(self)->int:

            ret=self.data[self.index]

            self.index+=1

            returnret

        defread_int16(self)->int:

            ret,=struct.unpack('h',self.data[self.index:self.index+2])

            self.index+=2

            returnret

        defread_int32(self)->int:

            ret,=struct.unpack('i',self.data[self.index:self.index+4])

            self.index+=4

            returnret

        defread_int64(self)->int:

            ret,=struct.unpack('q',self.data[self.index:self.index+8])

            self.index+=8

            returnret

        defread_string(self)->str:

            pass

        defread_bytes(self, size:int)-> bytearray:

            ifsize >self.rest():

                ret=self.data[self.index:]

                self.index+=self.rest()

                returnret

            ret=self.data[self.index:self.index+size]

            self.index+=size

            returnret

        def__len__(self):

            returnlen(self.data)

        defrest(self)->int:

            returnlen(self.data)-self.index

        @staticmethod

        defbytes2str(data: [bytearray, bytes]):

            out=''

            ifdataisNoneorlen(data)==0:

                return'Null'

            forbindata:

                ifout:

                    out+=','

                out+='0x%02X'%b

            out+='\n'

            out+=data.decode('utf-8')

            returnout

    classPakData:

        def__init__(self, br: Binary):

            self.version=br.read_int32()

            self.count=br.read_int32()

            self.coding=br.read_int8()

            self.resources=list()

            foriinrange(self.count):

                item={

                    'id': br.read_int16(),

                    'offset': br.read_int32(),

                    'data': bytearray(),

                    'size':0

                }

                self.resources.append(item)

            fori, iteminenumerate(self.resources):

                ifi+1<self.count:

                    item['size']=self.resources[i+1]['offset']-item['offset']

                else:

                    item['size']=len(br)-item['offset']

                item['data']=br.data[item['offset']:item['offset']+item['size']]

    classPakFile:

        def__init__(self, path:str):

            self.path=path

            ifos.path.exists(path):

                self.decode()

                return

            self.data=None

        defset_path(self, path):

            self.path=path

        defdecode(self)->int:

            ifos.path.exists(self.path)isFalse:

                return-1

            withopen(self.path, mode='rb') asfile:

                raw=bytearray(file.read())

                file.close()

                br=Binary(raw)

                self.data=PakData(br)

    defmain():

        pak=PakFile(r'.\zh-CN.pak')

        ifisinstance(pak.data, PakData):

            print('版本:', pak.data.version)

            print('數量:', pak.data.count)

            print('編碼:', pak.data.coding)

            foriinrange(pak.data.count):

                print('ID:', pak.data.resources[i]['id'])

                print('偏移:', pak.data.resources[i]['offset'])

                print('大小:', pak.data.resources[i]['size'])

                print('內容:', Binary.bytes2str(pak.data.resources[i]['data']))

    if__name__=='__main__':

        main()

    軟件截圖

    pak文件解析工具 Python版
      python編程工具
      (13)python編程工具關鍵詞
      Python編程開發工具是一款非常強大的編程軟件,Python是一種面向對象、直譯式計算機程序設計語言,也是一種功能強大而完善的通用型語言,已經具有十多年的發展歷史,成熟且穩定。這種語言具有非常簡捷而清晰的語法特更多>>

      其他版本下載

      熱門評論

      最新評論

      發表評論 查看所有評論(0)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)

      下載幫助下載幫助西西破解版軟件均來自互聯網, 如有侵犯您的版權, 請與我們聯系。

      TOP
      軟件下載
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>