zufuliu / notepad4

Notepad4 (Notepad2⨯2, Notepad2++) is a light-weight Scintilla based text editor for Windows with syntax highlighting, code folding, auto-completion and API list for many programming languages and documents, bundled with file browser plugin matepath.
Other
2.56k stars 179 forks source link

Base64 解码后含有很多空字符NUL #738

Open lenny20 opened 9 months ago

lenny20 commented 9 months ago

例如:RABQAEEAWgA2AC0AUwBIADIAVQBQAC0AUwA3AFoAWgBaAC0AWAA0ADcAVABVAC0ARgBVAEwAMgBYAA== 解码后每个字符之间都带有空字符NUL,无法搜索替换\s 复制粘贴变成:D P A Z 6 - S H 2 U P - S 7 Z Z Z - X 4 7 T U - F U L 2 X 2023-11-20_040016 我在网页版解码发现,字符编码为UTF-8也是这样,改为UTF-16LE就正常了。 Notepad2 v4.23.11 (AVX2)

zufuliu commented 9 months ago

The decoded result is correct:

>>> import base64
>>> base64.b64decode('RABQAEEAWgA2AC0AUwBIADIAVQBQAC0AUwA3AFoAWgBaAC0AWAA0ADcAVABVAC0ARgBVAEwAMgBYAA==')
b'D\x00P\x00A\x00Z\x006\x00-\x00S\x00H\x002\x00U\x00P\x00-\x00S\x007\x00Z\x00Z\x00Z\x00-\x00X\x004\x007\x00T\x00U\x00-\x00F\x00U\x00L\x002\x00X\x00'
zufuliu commented 9 months ago

You can save the decoded result in a file then reload the file with UTF16-LE encoding.

lenny20 commented 9 months ago

要重新打开挺麻烦的 -_-