일반 텍스트가 포함 된 큰 텍스트 파일을 가지고 있습니다.하지만 그 안에는 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>