- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个简单的程序:在 while 循环中,它接受整数(保证在 0, 255 范围内),将其转换为相应的字符并将该字符写入文件,直到输入整数为 -1。我用 C++ 写的,效果很好。代码是:
#include <iostream>
#include <fstream>
using namespace std;
int main(){
char c;
int p;
ofstream myfile;
myfile.open ("a.txt");
while(true){
cin>>p;
if(p == -1)
break;
c = p;
myfile << c;
}
return 0;
}
我也尝试用python 3编写相同的程序,代码是:
import sys
file = open("b.txt", "w")
while True:
p = int(input())
if p == -1:
break
c = chr(p)
file.write(c)
问题是,在某些输入上,它们给出不同的输出,例如在输入上:
0
3
38
58
41
0
194
209
54
240
59
-1
C++ 给出输出:
0003 263a 2900 c2d1 36f0 3b
并且 python 给出输出:
0003 263a 2900 c382 c391 36c3 b03b
我有测试用例,所以我知道 C++ 的输出是正确的。可能是什么问题?
最佳答案
您的“字符”概念似乎是“字节”。 Python 则不然; Python 3 的“字符”概念是“Unicode 代码点”,如何将其转换为字节取决于编码。
如果要写入字节,则应以二进制模式(C++ 和 Python)打开文件,并且应更改 Python 代码以将 bytes
对象传递给 write
:
with open("b.txt", "wb") as file:
while True:
p = int(input())
if p == -1:
break
# file.write(bytearray([p])) for Python 2 compatibility
file.write(bytes([p]))
关于Python chr() 函数返回错误字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52335920/
chr(9)、chr(10)、chr(13)、chr(32)、chr(34) 所有关于 ASCII码的表格:[url]http://www.asciitable.com/[/url] chr(13)
一段简单的代码让我大吃一惊: if __name__ == '__main__': writen_text = chr(13) file = open('bug', 'w')
如果我编写以下代码,ReSharper 将建议我将第一个变量 chr3 转换为常量,但不将第二个变量 chr127 转换为常量。 Public Class ClassX Public Sub
我正在用 Visual Basic 编写一个程序,遇到了一个奇怪的问题。我正在通过串行端口将字符串发送到望远镜安装座。当我发送 check 字符串时,作用域可以返回 chr(0) 或 chr(255)
编辑:我说的是 Python 2.7 中的行为。 chr函数将 0 到 127 之间的整数转换为 ASCII 字符。例如 >>> chr(65) 'A' 我明白这在某些情况下是如何有用的,我明白为什么
我正在尝试通过我的串行端口传递一个直接的 ASCII 文本命令,如下所示: string cmd = "Hello World. "; template.Serial.WriteLine(cmd);
我正在使用 PL/SQL 中的电子邮件函数。单击按钮后 Javascript 调用该函数。这工作得很好。 我的问题是我使用 PL/SQL 变量在 Javascript 中生成电子邮件正文。代码看起来像
我必须解决应用程序中的问题。该应用程序是部署到应用程序服务器的 Oracle Form。最后的表格是按下按钮的过程,假设是发送电子邮件。在按钮代码的末尾,它有一个 PL/SQL 代码调用 C:\内的
我使用 Python 来解决来自 exploit-exercises 的原星挑战.我对这段代码在 python 3 中的不同输出感到惊讶。 payload = chr(0x24) + chr(0x84
例如,在西类牙,数字格式为:4.000.000,25(400 万又 1/4)。有没有一种方法可以在不将其更改为字符的情况下更改数字格式(最好是针对整个 R 项目)? 现在我在所有数据帧上执行一个函数。
我正在尝试编写一个简单的程序:在 while 循环中,它接受整数(保证在 0, 255 范围内),将其转换为相应的字符并将该字符写入文件,直到输入整数为 -1。我用 C++ 写的,效果很好。代码是:
c = list(range(97, 121)) 如果我打印它,它会给出 [97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
我在使用 chr() 函数时遇到问题。我的代码首先获取用户输入,将其放入一个数组中,然后使用 ord 函数将其转换为相应的数字值,并对关键字执行相同的操作。然后它使用 zip 函数将两个数组相加以获取
所以我很确定这是一个愚蠢的问题,但我正试图更深入地了解 python chr() 函数。另外,我想知道是否可以始终将整数参数设置为三位数字,或者所有 ascii 值的长度都是固定的? chr(20)
python的chr()相当于什么?和 ord() golang 中的函数? chr(97) = 'a' ord('a') = 97 最佳答案 它们被支持为简单的conversions : ch :=
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章PHP chr()函数讲解由作者收集整理,如果你对这篇文章有兴趣,记得点
我有一个 excel 表,其中的单元格具有可变数量的换行符,我想减少它,以便每个新行之间只有一个换行符。 例如 HELLO WORLD GOODBYE 将修改为: HELLO WORLD GOODBY
我有自己的带有加密功能的 D6 pas 库。今天在XE3下尝试使用,发现里面有很多bug,因为unicode的原因。我尝试移植到 AnsiString,但在 chr(nnn) 上失败了,在 Delph
假设我有 print [chr 0x49, chr 0x9f] 输出 "I\159" 当打印必须显示为转义序列的字符时,如何使 print 使用十六进制数字?这样我的输出就是: "I\x9f" 最佳答
我正在尝试通过串行连接发送文件(来自另一个开源项目)。然而,我在发送大文件时遇到了困难。文件长度无法正确转换。 我通过声明使用 int 数组 encoded = [] 然后找到文件长度。类似的东西 f
我是一名优秀的程序员,十分优秀!