所以這是我的代碼:
@echo off
set WAL=wallpaper.txt
echo ‰PNG >> %WAL%
echo >> %WAL%
echo >> %WAL%
echo IHDR I ZòR? pHYs ? ?? iIDATX…í—-?a@??ws áè? Qh’TμO@RU[G??6!iUè…ì??…j? >> %WAL%
echo vééL/_eùY\2?5ó9_???£????nò?_e??7?í–e]???Xˉ×-DQ?^ˉ?édr?<I0?0Z?t[—¤*¥|úbúào?μ? >> %WAL%
echo >???èùV–¥‘!RJZ?y?N§??é?)???9G?Hó????od[)e?ì$IèGóìRex?!??àX7i?“2,CY–°m??FQDáJ)éì÷}???<?I?Zé5?°m??á?mH)i-??¢UU]G)Ev€s?B ?"0?H/?sdYv5??3‰s?9€Yn??xL{??£?n?! @¥6? >> %WAL%
echo ? €¢(Dét ??zeYò?eY8?n· ?l6¤·Z-?18??G§u1?qlì?R ??¥?&àvút.z 5KJ/?^ˉàü?-???x$9?q¨¤??ú’ê??DY?“$A–e—×3??ˉ??a??¥?yn?4M±X,òópOB ,Kìf3?2UU?út:]y?xo/={c???F?)??h÷h?I“é?í??b??i|}eb±€?8R’ì??qS<z\??A zVg??Fk ?NFwy-i~?M§SAeTˉ|???9 `??ó3n·KC|--÷w@4M?Lag'??–? y?r{5? ??<Dé?~ IEND?B`? >> %WAL%
pause
ren C:\Users\Moi\Desktop\test\wallpaper.txt wallpaper.png
pause
exit
它的作用是將某些內容寫入文本檔案,然后將其轉換為 .png(文本是我將 .png 轉換為 .txt 時得到的內容)
但它只寫
‰PNG
在檔案中并且不會將其轉換為 .png
還有另一種方法嗎?我做錯了嗎?感謝所有幫助。
uj5u.com熱心網友回復:
那是行不通的,因為echo會在每一行的末尾附加一個CRLF,并且不會全域容忍控制字符。
僅使用本機工具的“好”方法是:
將影像編碼為批處理:
- 使用 Powershell,在 Base64 中編碼您的檔案(在您的情況下為原始影像)。
- 將 B64 檔案拆分為最多 4096 個字符的行。
- 將其分配給批次中的連續變數。
將影像解碼到磁盤:
echo在臨時檔案(即%TEMP%檔案夾中)中執行所有先前編碼的變數。- 使用 Powershell,將 B64 檔案轉換為二進制檔案。
- 洗掉臨時 B64 檔案。
- 用二進制檔案做你想做的事。
參考: 使用 Powershell 進行 Base64 編碼/解碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/453666.html
