Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么转义字符\b显示未知字符?_Python_Python 3.x_Utf 8_Python 3.5_Unicode Escapes - Fatal编程技术网

Python 为什么转义字符\b显示未知字符?

Python 为什么转义字符\b显示未知字符?,python,python-3.x,utf-8,python-3.5,unicode-escapes,Python,Python 3.x,Utf 8,Python 3.5,Unicode Escapes,我有一行简单的代码 print("Hello \bWorld!") 输出而不是HelloWorld是 有什么问题?我正在使用python 3.5。我从w3school.com获取了代码您的控制台输出无法显示'\b'。这与python无关 它在VisualStudio中工作:您可以通过在调试器中设置断点来验证它,并检查值(大多数IDE都支持UTF-8)-windows控制台f.e.没有 在Visual Studio中调试输出: 与windows中的控制台输出相比: (这里看起来像你的)

我有一行简单的代码

 print("Hello \bWorld!") 
输出而不是HelloWorld

有什么问题?我正在使用python 3.5。我从w3school.com获取了代码

您的控制台输出无法显示
'\b'
。这与python无关

它在VisualStudio中工作:您可以通过在调试器中设置断点来验证它,并检查值(大多数IDE都支持UTF-8)-windows控制台f.e.没有

在Visual Studio中调试输出:

与windows中的控制台输出相比:

(这里看起来像你的)

为了

您的控制台输出无法显示
'\b'
。这与python无关

它在VisualStudio中工作:您可以通过在调试器中设置断点来验证它,并检查值(大多数IDE都支持UTF-8)-windows控制台f.e.没有

在Visual Studio中调试输出:

与windows中的控制台输出相比:

(这里看起来像你的)

为了

ASCII退格(BS)删除Python 3.x中的前一个字符:

print("ab\bc")
输出:

ac
在您的例子中,它与Python无关,而是控制台本身

我得到:

print("Hello \bWorld")   # HelloWorld

ASCII退格(BS)删除Python 3.x中的前一个字符:

print("ab\bc")
输出:

ac
在您的例子中,它与Python无关,而是控制台本身

我得到:

print("Hello \bWorld")   # HelloWorld


谢谢你的回答。是不是\b应该删除它前面的最后一个字符?还是我被误解了?为什么输出空间仍然存在?有一个空间和未知字符。图片是为pycharm IDE设计的。而且,即使我将“Hello\bWorld!”写在一个文件中,而不是打印出来,并用notepad++之类的应用程序打开它,即使在那里,它也不会正确显示。@mike,如果你将open(“f.txt”,“w”)改为f:f.write(“Hello\bWorld”)你的文件正好包含了它。。一个空格后跟一个
'\b'
-在写入之前,它不会从字符串中删除空格和\b(以及字符串剩余部分之前/之后)。如果在兼容的shell中打印
“Hello\bWorld”
,它将只打印
“HelloWorld”
-请参阅上面windows中的控制台输出。您的IDE决定显示完整字符串,而不将\b应用于空格。@Patrick Artner另一个问题。如果你能为我澄清这一点,我将不胜感激。假设我有一个文本文件,其中有一些文本,如果我写(“\b”),是否要删除文件中的最后一个字符?@Mike否-它将向文件中写入另一个字符,即
'\b'
(或二进制\x08)。谢谢您的回答。是不是\b应该删除它前面的最后一个字符?还是我被误解了?为什么输出空间仍然存在?有一个空间和未知字符。图片是为pycharm IDE设计的。而且,即使我将“Hello\bWorld!”写在一个文件中,而不是打印出来,并用notepad++之类的应用程序打开它,即使在那里,它也不会正确显示。@mike,如果你将open(“f.txt”,“w”)改为f:f.write(“Hello\bWorld”)你的文件正好包含了它。。一个空格后跟一个
'\b'
-在写入之前,它不会从字符串中删除空格和\b(以及字符串剩余部分之前/之后)。如果在兼容的shell中打印
“Hello\bWorld”
,它将只打印
“HelloWorld”
-请参阅上面windows中的控制台输出。您的IDE决定显示完整字符串,而不将\b应用于空格。@Patrick Artner另一个问题。如果你能为我澄清这一点,我将不胜感激。假设我有一个文本文件,其中有一些文本,如果我写(“\b”),是否要删除文件中的最后一个字符?@Mike no-它将向文件中写入另一个字符,即
'\b'
(或二进制\x08)