首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的字节数组没有不同,尽管print()说它们是不同的?

这个问题涉及到字节数组的比较和打印输出的问题。首先,字节数组是一种数据类型,用于存储字节序列。当我们将字节数组打印输出时,通常会使用print()函数来显示其内容。

然而,尽管print()函数可能会显示字节数组的内容不同,但实际上字节数组的内容可能是相同的。这是因为print()函数在打印字节数组时,会将字节数组转换为字符串进行显示。而不同的字节数组可能会被转换为相同的字符串。

要正确比较字节数组的内容是否相同,我们应该使用字节数组之间的比较操作符,例如"=="。这样可以直接比较字节数组的内容,而不是比较它们的字符串表示。

以下是一个示例代码,演示了如何正确比较字节数组的内容:

代码语言:txt
复制
# 创建两个字节数组
array1 = bytearray([1, 2, 3])
array2 = bytearray([1, 2, 3])

# 使用比较操作符比较字节数组的内容
if array1 == array2:
    print("字节数组内容相同")
else:
    print("字节数组内容不同")

在这个例子中,我们创建了两个字节数组array1和array2,它们的内容都是[1, 2, 3]。通过使用"=="操作符比较它们的内容,我们可以得出它们是相同的。

总结起来,尽管print()函数可能会显示字节数组的内容不同,但实际上字节数组的内容可能是相同的。为了正确比较字节数组的内容,应该使用字节数组之间的比较操作符"=="。

相关搜索:为什么我的Matchers.equalTo()说数组是不同的,而它是相同的为什么redux diff说状态是相等的,尽管它们不是python中sin(45)和cos(45)的值不同,尽管它们是等效的为什么我的分隔符缩进在不同的设备上是不同的?保存脚本和onEdit触发器-为什么它们是不同的?向对象添加唯一数组,并确保它们是不同的为什么gzwrite向量和gzwrite数组不同,数组的值是相同的?为什么我的CIFAR-10 dict键与它们应该的不同?为什么我的数组的内容在foreach循环中不同?为什么我得到不同的布尔结果,而它们应该是相同的?shutil.copy2给了"SameFileError“,尽管文件是完全不同的-为什么?我从来没有说过两个数组相等,但在输出中它们是用C++实现的Google sheet SUMIFs错误“SUMIFS的数组参数大小不同”。即使它们的大小是固定的如果我没有在循环中使用数组,为什么我的数组要更改它们的值?如果它们的请求urls是相同的,为什么NGINX会以不同的方式处理请求?为什么"result“和"current”没有给出相同的输出,尽管这段代码中提到了它们是相同的?为什么我的存储库是从Git Bash的不同帐户上传的我比较了两个值相同的变量,但结果显示它们是不同的即使代码说的是不同颜色的场景,我的系统树仍然是一个彩虹调色板。为什么不同日期的时间戳没有部分时间是相同的?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解密 Python 中对象模型

为什么呢?其实答案很简单,我们 Python 在查找属性或方法时候,会回溯继承链,自身如果没有的话,就会按照__mro__指定顺序去基类中查找。...另外,尽管 Python 在创建变量时候不需要指定类型,但 Python 强类型语言,强类型语言,强类型语言,重要事情三遍。...可我们知道C中数组里面的所有元素类型必须一致,但列表却可以存放任意元素,因此从这个角度来讲,列表里面的元素它就就不可能对象,因为不同对象在底层对应结构体不同,所以这个元素只能指针。...显然图中指针数组用来存储具体对象指针,每一个指针都指向了相应对象(这里整型对象)。可能有人注意到,整型对象顺序有点怪,其实故意这么画。...因为 PyObject * 数组内部元素连续且有顺序,但是指向整型对象则是存储在堆区它们位置任意性

1.5K20

Python 进阶指南(编程轻松进阶):七、编程术语

表 7-2:Python 一些可变和不可变数据类型 可变数据类型 不可变数据类型 列表 整数 字典 浮点数 集合 布尔值 字节数组 字符串 数组 固定集合 字节 元组 当您修改一个变量时,可能看起来像是在更改对象值...) 40719224 这两个字符串对象有不同标识(40718944 和 40719224),因为它们不同对象。...反正提出应该从 0.5 开始被大家否定了,这种事情还是仁者见仁吧" ---- 您还可以在列表字面值上使用 index 运算符,尽管所有这些方括号在实际代码中可能看起来令人困惑且没有必要: >>> [...Python 字节码由指令集指令组成,尽管现实世界中没有硬件 CPU 执行这些指令。相反,软件解释器执行字节码。Python 字节码存储在.pyc文件中,.py源文件。...但是 Python 通常被认为一种脚本语言,尽管在 Python 程序运行时有一个编译字节步骤。

1.6K20
  • Java 字符流文件读写

    除了这一点外,其余操作并没有什么不同,或是通过字符数组向文件中写入,或是通过字符串向文件中写入,又或是通过 int 低 16 位向文件中写入。...字符数组流 CharArrayReader/Writer 字符数组字节数组类似的,都是用于解决那种不确定文件大小,而需要读取其中大量内容情况。...PrintStream 还封装了大量 print 方法,写入不同类型内容到文件中,例如: public void print(boolean b) public void print(char c...,而只是将它们所对应字符串写入文件,例如: print(123); 最终写入文件不是 123 所对应二进制表述,而仅仅是 123 这个字符串,这就是打印流。...所以,PrintStream 集成了字节流和字符流中所有的输出方法,其中 write 方法用于字节流操作,print 方法用于字符流操作,这一点需要明确。

    1.2K20

    kotlin修炼指南9-Sequence秘密

    尽管Iterable和Sequence有着完全不同用途(有不同契约),它们处理函数几乎都以不同方式工作。SequenceLazy,所以Sequence处理中间函数不做任何计算。...比方,我们有一个有数百万个元素集合,在处理之后,我们只需要取前10个。为什么要处理其他所有的元素呢?Iterable处理没有中间操作概念,所以整个集合处理就像在每个操作上都要返回一样。...但这种差异仍然不可忽视,这也是为什么我们更愿意使用Sequence来处理超过一个处理步骤大集合主要原因。 所说 "大集合 "指许多元素和真正大集合。它可能一个有几万个元素整数列表。...它也可能一个只有几个字符串列表,但每个字符串都很长,以至于它们都需要很多兆字节数据。这些情况并不常见,但它们有时会发生。 所说一个处理步骤,指超过一个函数集合处理。...缺点,如果我们将其与在一个集合上相同处理进行比较,这个积累过程需要一些额外时间(尽管如果Iterable不是一个集合或数组,那么区别并不明显,因为它也需要进行积累)。

    54120

    【译】使用“不安全“Python加速100倍代码运行速度

    它不是这样工作吗?-这些东西有一些可怕内存一致性协议,错过了什么吗?如果不是——如果它们相同形状和大小相同类型内存——是什么不同导致我们减速 100 倍?...但首先我们要去解释为什么步幅不同。 numpy array内存布局 所以步幅(stride)是什么?步幅告诉您从一个像素到下一个像素需要跨越多少字节。...觉得这种方法很冒犯,因为图像传统上是以行为主序存储,尤其图像传感器以这种方式发送图像(并以这种方式捕捉图像,正如您可以从滚动快门看到 - 每一行在稍微不同时间点进行捕捉,而不是按列进行) “为什么...布局灵活性有限......或者更确切地,实际上没有任何限制超过可计算限制,但幸运 numpy 止步于可配置步幅,并不允许您为完全可编程布局 指定一个通用回调函数 addr(base, x,...这些 numpy 数组具有正确形状,并让我们访问正确数据,但它们布局与其形状普通数组非常不同不同内存布局肯定可以解释性能上主要差异。我们可以试图弄清楚为什么性能差异几乎 100 倍。

    13410

    java字符串字节数组_Java字节数组到字符串到字节数组

    要添加正确答案(尽管不完整),请执行以下操作:1)在Java中将任何byte []数组转换为String都应指定字符集。byte []数组UTF-8还是其他?不够具体或不知道它可能造成错误。...处理字符串(基于字符)byte []数组时,这没有问题。但是,如果byte []数组表示一个数字,则源/目标系统字节顺序很重要。  ...这么多否决票,却没有那么多解释...不行吗?当我使用它时它起作用了,问题如何从字节转换为字符串然后再次返回,对吗?  解决该问题答案实际上被标记为答案。...OP在问题正文中处境不同是一个不同讨论。  甚至可能对所提问题错误回答,但这有助于我解决问题。这就是为什么人们在降级别人回答之前应该多考虑一点。谢谢CorayThan!  ...@CorayThan:问题目的将有关字节数组内容回答为字符串,然后再返回至字节数组尽管答案正确,但反之亦然。

    5.2K30

    【C语言】数据类型存储、原码,反码,补码

    void 类型: 类型说明符 void 表明没有可用值。 派生类型: 它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。...扩展内存空间方法一般有增加内存大小和虚拟内存。 在这里其他类型就不跟大家讲解了,就说说构造类型,以及指针类型吧。 构造类型  数组类型:为什么数组类型构造类型呢?...那么int [20] 类型吧,那么再进行一个改变int [10] 这个类型都在发生改变 那么如果你不同类型呢字符型,浮点型这样,所以数组也是一种自定义类型也是构造类型。...这样我们用一段代码让大家直观看看是不是指针4个字节,由于博主再前面跟大家讲过野指针内容但是指针内容还没有跟大家,到时候博主也会写一篇有关于指针内容,由此可见指针类型一种特殊类型。...如果它是正数的话:原码、补码以及反码都是相同负数的话就是上面这样!对于整形来说存放都是补码,切记! 一个字节=8个bit 为什么在计算机中存储补码?

    55530

    Python2和Python3区别,以及为什么选Python3原因

    如果你觉得,Python 3才是Python未来,不希望接触Python 2项目。那么,问题来了,女神跟你,晚上来我家给我修下电脑呗,但是电脑Windows XP,你去还是不去?...据我知,尽管Python 3在2008年12月就已经发布了,但是,目前Python 3仍然不是任何操作系统默认Python解释器,这是Python 3使用不广泛主要原因。...拿Windows 来说,当 Windows 7 发布时候(就不说 Vista 了),很多人依然抱着 XP 不放,当你问他们为什么时,他们会一本正经地,“新系统好卡啊”,或是“好多软件都不兼容啊”,...a 一个由十个字节组成数组,其每个元素一个字节,类型借用 int # 此时,每个元素初始值为 0 (二) 字节数组 可变 a = bytearray( 10 )...a[0] = 25 # 可以用赋值语句更改其元素,但所赋值必须在 0 ~ 255 之间 (三) 字节数组切片仍是字节数组 (四) 字符串转化为字节数组 #coding=gbk

    90110

    深度总结了类相关知识)(上)

    ,我们创建了一个 Circle 对象数组数组每个元素都是 Circle 类实例,可以分别调用它们成员函数。...Point 类两个不同实例,虽然它们共享同一个 display 函数,但输出不同结果,因为函数操作各自对象 x 和 y 成员变量。...: 在这个例子中,Print() 一个普通成员函数,但它没有访问类成员变量(即_a),也没有依赖于当前对象具体数据。...因此,尽管 p nullptr,调用 p->Print() 并不会试图访问无效对象内存。...成员函数this指针在调用时隐式传递,但由于Print()函数中没有使用与对象相关成员变量,所以this指针并未实际被解引用。

    8110

    盘一盘 Python 系列 2 - NumPy (上)

    numpy 数组元素用最多是「数值型」元素,平时我们一维、二维、三维数组长下面这个样子 (对应着线、面、体)。四维数组很难被可视化。 ?...对着这个规则看看上面各种情况输出。 注:用函数 print 打印 numpy 数组没有 array() 字样了,只用其内容,而且元素之间「逗号」也没有了。...(二维数组) 对于前三种,由于输出 n 为数组它们参数一个「标量」或「元组类型形状」,下面三个例子一看就懂了: print( np.zeros(5) ) # 标量5代表形状(5,) print... 8 个字节数 (bytes),因此跨度为 8 dtype:数组元素类型,双精度浮点 (注意和 type 区分) 注意黄色高亮了 strides,这个概念对于解决引言「转置高维数组」问题很重要...2 数组存载 本节讲数组「保存」和「加载」,知道它们没什么技术含量,但是很重要。假设你已经训练完一个深度神经网络,该网络就是用无数参数来表示

    2.4K60

    盘一盘 NumPy (上)

    numpy 数组元素用最多是「数值型」元素,平时我们一维、二维、三维数组长下面这个样子 (对应着线、面、体)。四维数组很难被可视化。...对着这个规则看看上面各种情况输出。 注:用函数 print 打印 numpy 数组没有 array() 字样了,只用其内容,而且元素之间「逗号」也没有了。...(二维数组) 对于前三种,由于输出 n 为数组它们参数一个「标量」或「元组类型形状」,下面三个例子一看就懂了: print( np.zeros(5) ) # 标量5代表形状(5,) print... 8 个字节数 (bytes),因此跨度为 8 dtype:数组元素类型,双精度浮点 (注意和 type 区分) 注意黄色高亮了 strides,这个概念对于解决引言「转置高维数组」问题很重要...2 数组存载 本节讲数组「保存」和「加载」,知道它们没什么技术含量,但是很重要。假设你已经训练完一个深度神经网络,该网络就是用无数参数来表示

    2.9K40

    C++类与对象深度解析(一):从抽象到实践全面入门指南

    支持继续创作动力! 点赞、收藏与分享:觉得这篇文章对你有帮助吗?别忘了点赞、收藏并分享给更多小伙伴哦!你们支持不断进步动力!...这种空类对象大小在C++中也是有规定。 空类对象大小 尽管空类没有成员变量,但在C++中,空类对象大小仍然不是零。空类对象大小1字节。...这是因为C++规定每个类对象都必须占有唯一地址,即使类中没有成员变量。这1字节大小用于确保不同对象在内存中拥有唯一地址。 为什么空类对象占1字节?...确保类指针行为一致:即使空类指针,指向不同对象时,它们也必须指向不同内存地址。如果空类对象占0字节,就无法保证这一点。...运行时崩溃 详细解释:为什么不是空指针访问 在这两个测试题中,关键点在于是否访问了成员变量: 测试题 1 中,Print() 函数没有访问成员变量,所以即使 this 空指针,C++也不会触发空指针访问错误

    11210

    【自定义类型详解】第一篇——结构体详解

    数组一样,初始化结构体变量也用{}。...,结构体包含所有成员大小之和就是结构体总大小。 首先是S1,三个成员变量,第一个c1char类型,1个字节,第二个iint类型,4个字节,第三个c2也是char类型,1个字节。...好,现在我们已经知道s成员在内存中存放了,那s大小12个字节,这样的话图中红色空间6个字节根本没有使用,不是白白被浪费掉了嘛。...,只是顺序不同,但是,它们大小却相差了4个字节。...思考一个问题,上面的 print1 和 print2 函数哪个好些? 首选print2函数。 为什么呢? 原因:函数传参时候,参数需要压栈,会有时间和空间上系统开销。

    15410

    【干货】NumPy入门深度好文 (上篇)

    numpy 数组元素用最多是「数值型」元素,平时我们一维、二维、三维数组长下面这个样子 (对应着线、面、体)。四维数组很难被可视化。 ?...对着这个规则看看上面各种情况输出。 注:用函数 print 打印 numpy 数组没有 array() 字样了,只用其内容,而且元素之间「逗号」也没有了。...(二维数组) 对于前三种,由于输出 n 为数组它们参数一个「标量」或「元组类型形状」,下面三个例子一看就懂了: print( np.zeros(5) ) # 标量5代表形状(5,) print...咦,为什么有个 Python View 和 Memory Block 啊?这两个不是一样么?对一维数组来说,「Python 视图」看它和「内存块」存储它形式一样,但对二维数组甚至高维数组呢?...2 数组存载 本节讲数组「保存」和「加载」,知道它们没什么技术含量,但是很重要。假设你已经训练完一个深度神经网络,该网络就是用无数参数来表示

    2.3K20

    C语言灵魂——指针

    不同数据有不同大小,例如整型在内存中占四个字节,字符型占一个字节。...这就是为什么我们这次数组结果1了, 因为被调函数中a个整型指针,而在主函数中a一个数组。 所以计算数组元素个数代码,还是应该放到主函数中。...,字符数组大小要大于等于字符数量+1, C语言字符串必须以null结尾,这就是为什么我们需要一个额外空间,用来存放null。...0]); printf("%d\n",B ); printf("%d\n",p ); printf("%d\n",*B ); printf("%d\n",*p); return 0; } 为什么这么呢...当我们函数指针存放函数地址时候, 我们在说函数指针存放了函数在内存中起始地址或者入口点。

    93910

    算法工程师面试理想与现实

    这句话可笑之处在于:尽管我为这些公司做出很大一部分贡献就是解决电话面试级别的算法问题,但我还是没办法通过面试!当我这话时候,人们常常以为意思面试有一半都失败了。...似乎他们编写了这个操作原因,有人编写(也许是复制粘贴)了一个哈希函数,其输入为一个字节数组,后来又将这个函数修改成:接受两个字节数组,并依次进行操作,因此这个哈希函数接口为(byte[], byte...不幸,想把这样一个函数写得更为合理一项大工程,因此解决办法将哈希函数接口变更为接受一对 long(而不是一对字节数组),然后让这个函数执行字节反转,而不是将其作为一个单独步骤执行(因为这个哈希函数已经打乱了字节顺序...尽管有时人们也会罔顾激励措施,采用不同解决方案,但他们不太可能花费大量业余时间来寻求效率提高,他们会将正常工作时间花在与团队目标相符工作上。...在当代关于面试讨论中,我们做法通常被称为“降低标准”,但是想不明白既然我们工作所需门槛很低(有时甚至没有时候,为什么我们要把门槛设得那么高。

    43420

    给PHP开发者讲讲PHP源码-第一部分

    作为一个开发者,发现在日常工作中越来越多地查看PHP源码。在为了弄清楚奇怪边界问题和为什么某些问题应该发生没有发生而去理解背后究竟发 生了什么事情时候非常有用。...C语言没有使用任何前缀来标识变量。因此,要说出它们不同唯一方式(为了达到我们目的)查看它 们定义。如果你在函数顶部(或者函数声明)看到在类型和空格之后字符,那就是变量。...这又一点迷惑,但如果引用对你来说是完 全新知识,建议你阅读一下这方面的知识(尽管我们目的不用必需阅读C)。会有帮助。...现在,另一个理解指针事情它们如何在C数组里应用(不是PHP数组,而是C语言中数组)。因为指针内存地址,我们可以通过分配一块内存来 定义一个数组,然后通过递增指针来遍历它。...这允许不同代码根据不同操作系统被使用(因此尽管它们使用不同 API,也可以在Windows和Linux中很好使用)。另外,它允许一部分代码被引入或者不是基于定义指示。

    1.8K100

    盘一盘 Python 系列 2 - NumPy (上)

    numpy 数组元素用最多是「数值型」元素,平时我们一维、二维、三维数组长下面这个样子 (对应着线、面、体)。四维数组很难被可视化。...对着这个规则看看上面各种情况输出。 注:用函数 print 打印 numpy 数组没有 array() 字样了,只用其内容,而且元素之间「逗号」也没有了。...(二维数组) 对于前三种,由于输出 n 为数组它们参数一个「标量」或「元组类型形状」,下面三个例子一看就懂了: print( np.zeros(5) ) # 标量5代表形状(5,) print... 8 个字节数 (bytes),因此跨度为 8 dtype:数组元素类型,双精度浮点 (注意和 type 区分) 注意黄色高亮了 strides,这个概念对于解决引言「转置高维数组」问题很重要...2 数组存载 本节讲数组「保存」和「加载」,知道它们没什么技术含量,但是很重要。假设你已经训练完一个深度神经网络,该网络就是用无数参数来表示

    1.5K30

    笨办法学 Java(三)

    这个变量一个字符串数组。这意味着这个变量包含了所有八个字符串,并且它们被分成不同槽,所以我们可以逐个访问它们。 这一行上花括号用于不同于通常目的。所有这些值都在引号中,因为它们字符串。...如果我们已经全部看过它们,却没有找到任何白色乌鸦,那么我们才能安全地没有存在。 希望您尝试了昨天练习中学习演练。...在 C 和 C++编程语言中,它们被称为“结构”。数组一个变量中许多不同值,其中值都是相同类型,并且它们由索引(槽号)区分。...一些顽固面向对象 Java 爱好者会偶然发现这个练习,并给我发送一封恶毒电子邮件,做错了,为什么要用谎言来填充这些可怜孩子头脑?哦,好吧。...(为什么参数称为inFile,而参数称为input?因为它们不是同一个变量。参数input在第 27 行声明,并从参数inFile获取值副本。它们两个具有相同值不同变量。)

    19510

    elasticsearch之Roaring Bitmaps结构

    投递集合说明: 如果你刚刚接触搜索引擎,你可能会感到奇怪,构建搜索引擎中存储块一个很重要原因搜索引擎能够有效地压缩和快速解码有序数字集合。 为什么这个很有用?...这个阶段需要注意很重要一点按照上面数组编码中我们之前一个值需要4个字节,这里数组一个值只需要2个字节存储空间,因为数据块ID(block ID) 隐示地给了我们 16个字节最高位。...为什么选择4096做为一个临界值呢,仅仅是因为当数据块中文档数超过这个值之后,bitmap将比数组内存使用率更高: ?...备注:“for”没有在这个benchmark中出现是因为它全部走磁盘没有用到过内存。 Build time ?...在对比中另外一个重要疑问就是尽管从倒排索引中投递集合保存在磁盘而不是内存中,它仍然很快。

    4.2K21
    领券