Jеd*_*еdd 7 python unicode python-3.x
我有这段Python代码:
\n# Subroutine to calculate VAT\xe2\x80\x8b\ndef VAT(Total):\xe2\x80\x8b\n return Total * 0.05 \xe2\x80\x8b\n\n# Main program\xe2\x80\x8b\nTotal = 100.12\xe2\x80\x8b\nValueAddedTax = VAT(Total)\xe2\x80\x8b\nToPay = Total + ValueAddedTax\xe2\x80\x8b\nprint("Total \xc2\xa3{:.2f} VAT \xc2\xa3{:.2f} To pay \xc2\xa3{:.2f}".format(Total, ValueAddedTax, ToPay))\n
Run Code Online (Sandbox Code Playgroud)\n运行这个时,我得到:
\n# Subroutine to calculate VAT\xe2\x80\x8b\ndef VAT(Total):\xe2\x80\x8b\n return Total * 0.05 \xe2\x80\x8b\n\n# Main program\xe2\x80\x8b\nTotal = 100.12\xe2\x80\x8b\nValueAddedTax = VAT(Total)\xe2\x80\x8b\nToPay = Total + ValueAddedTax\xe2\x80\x8b\nprint("Total \xc2\xa3{:.2f} VAT \xc2\xa3{:.2f} To pay \xc2\xa3{:.2f}".format(Total, ValueAddedTax, ToPay))\n
Run Code Online (Sandbox Code Playgroud)\n原因是代码包含U+200B ZERO WIDTH SPACE(UTF-8 编码:E2 80 8B),如以下输出所示hexdump -C
:
\n00000000 23 20 53 75 62 72 6f 75 74 69 6e 65 20 74 6f 20 |# 子程序到 |\n00000010 63 61 6c 63 75 6c 61 74 65 20 56 41 54 e2 80 8b |calc计算增值税...| \ n00000020 0a 64 65 66 20 56 41 54 28 54 6f 74 61 6c 29 3a |.def 增值税(总计):|\n00000030 e2 80 8b 0a 20 20 20 20 72 65 74 75 72 6e 20 54 |.... 返回 T |\n00000040 6f 74 61 6c 20 2a 20 30 2e 30 35 20 e2 80 8b 0a |总计 * 0.05 ....|\n00000050 0a 23 20 4d 61 69 6e 20 70 72 6f 67 72 61 6 d e2 |.# 主要程序。|\n00000060 80 8b 0a 54 6f 74 61 6c 20 3d 20 31 30 30 2e 31 |...总计 = 100.1|\n00000070 32 e2 80 8b 0a 56 61 6c 75 65 41 64 64 65 64 54 |2。 ...ValueAddedT|\n00000080 61 78 20 3d 20 56 41 54 28 54 6f 74 61 6c 29 e2 |ax = 增值税(总计)。|\n00000090 80 8b 0a 54 6f 50 61 79 20 3d 20 54 6f 74 61 6c |...ToPay = 总计|\n000000a0 20 2b 20 56 61 6c 75 65 41 64 64 65 64 54 61 78 | + ValueAddedTax|\n000000b0 e2 80 8b 0a 70 72 69 6e 74 28 22 54 6f 74 61 6c |....print("总计|\n000000c0 20 c2 a3 7b 3a 2e 32 66 7d 20 56 41 54 20 c 2 a3 | ..{:.2f} 增值税 ..|\n000000d0 7b 3a 2e 32 66 7d 20 54 6f 20 70 61 79 20 c2 a3 |{:.2f} 支付 ..|\n000000e0 7b 3a 2e 32 66 7d 22 2e 66 6f 72 6d 61 74 28 54 |{:.2f}".format(T|\n000000f0 6f 74 61 6c 2c 20 56 61 6c 75 65 41 64 64 65 64 |总计,增值|\n00000100 54 61 78 2约20 54 6f 50 61 79 29 29 0a |税、ToPay))。|\n0000010d\n\n
我想知道如何摆脱所有零宽度空间。
\n您可以通过使用以下命令将它们替换为空字符串来删除这些字符sed
:
$ sed 's/\xe2\x80\x8b//g'输入文件>输出文件
或者,就地修改文件:
$ sed -i 's/\xe2\x80\x8b//g'输入文件
归档时间: |
|
查看次数: |
19266 次 |
最近记录: |