-1
我有一個大文本文件,裏面有正常文本,但是裏面有部分是有base64編碼文本塊的。我需要解碼這些文本,以便解析器可讀。我嘗試在我的腳本中使用base64解碼器,但是當我有圍繞base64文本的常規文本時,它不起作用。任何人都有想法,我可以如何擷取這些部分並解碼它們?該文本文件很長,將有幾個base64段。圍繞這些塊的唯一匹配是「X-Attachement-ID:xxx」,空行,然後是塊,以及後面的行中的「--xxx--」。在常規文本文件中進行基礎64解碼
我正在使用Perl腳本來解析並讀取.txt文件。
文本文件的示例剪切張貼如下。
Content-Type: text/xml; charset=US-ASCII; name="1415160277.xml"
Content-Disposition: attachment; filename="1415160277.xml"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h8oq2dh20
PD94bWwgdmVyc2lvbj0iMS4wImVuY29kaW5nPSJVVEYtOCI/Pg0KPEluZnJpbmdlbWVudCB4c2k6
c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cudGVzdC5jb20vQUNOUyBodHRwOi8vd3d3LnRlc3Qu
Y29tIiB4bWxucz0iaHR0cDovL3d3dy50ZXN0LmNvbS9BQ05TIiB4bWxuczp4c2k9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48Q2FzZT48SUQ+MTQxNTE2MDI3Nzwv
SUQ+PFN0YXR1cz5PcGVuPC9TdGF0dXM+PFNldmVyaXR5Pk5vcm1hbDwvU2V2ZXJpdHk+PC9DYXNl
PjxDb21wbGFpbmFudD48RW50aXR5PnRlc3Q8L0VudGl0eT48Q29udGFjdD50ZXN0IENvcHlyaWdo
dCBJbmZyaW5nZW1lbnQ8L0NvbnRhY3Q+PEFkZHJlc3M+PC9BZGRyZXNzPjxQaG9uZT48L1Bob25l
PjxFbWFpbD50ZXN0QHRlc3QuY29tPC9FbWFpbD48L0NvbXBsYWluYW50PjxTZXJ2aWNlX1Byb3Zp
ZGVyPjxFbnRpdHk+dGVzdDwvRW50aXR5PjxDb250YWN0PnRlc3Q8L0NvbnRhY3Q+PEFkZHJlc3M+
dGVzdA0KPC9BZGRyZXNzPjxQaG9uZT50ZXN0PC9QaG9uZT48RW1haWw+PC9FbWFpbD48L1NlcnZp
Y2VfUHJvdmlkZXI+PFNvdXJjZT48VGltZVN0YW1wPnRlc3Q8L1RpbWVTdGFtcD48SVBfQWRkcmVz
cz50ZXN0PC9JUF9BZGRyZXNzPjxUeXBlPkJpdFRvcnJlbnQ8L1R5cGU+PFVzZXJOYW1lPjwvVXNl
ck5hbWU+PE51bWJlcl9GaWxlcz4xPC9OdW1iZXJfRmlsZXM+PC9Tb3VyY2U+PENvbnRlbnQ+PEl0
ZW0+PFRpdGxlPnRlc3Q8L1RpdGxlPjxJbmZvSGFzaD50ZXN0PC9JbmZvSGFzaD48L0l0ZW0+PC9D
b250ZW50PjxIaXN0b3J5Lz4
--047d7b5d9603ea951104ccd17c87--',
\'MIME-Version: 1.0
Received: by --- with HTTP; Wed, 24 Oct 2012 10:38:10 -0700 (PDT)
Date: Wed, 24 Oct 2012 10:38:10 -0700
以base64塊的解碼:
<?xml version="1.0"encoding="UTF-8"?>
<Infringement xsi:schemaLocation="http://www.test.com/ACNS http://www.test.com" xmlns="http://www.test.com/ACNS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Case><ID>1415160277</ID><Status>Open</Status><Severity>Normal</Severity></Case><Complainant><Entity>test</Entity><Contact>test Copyright Infringement</Contact><Address></Address><Phone></Phone><Email>[email protected]</Email></Complainant><Service_Provider><Entity>test</Entity><Contact>test</Contact><Address>test
</Address><Phone>test</Phone><Email></Email></Service_Provider><Source><TimeStamp>test</TimeStamp><IP_Address>test</IP_Address><Type>BitTorrent</Type><UserName></UserName><Number_Files>1</Number_Files></Source><Content><Item><Title>test</Title><InfoHash>test</InfoHash></Item></Content><History/><Notes/></Infringement>