问题标签 [bitconverter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 将 byte[] 数组转换为长度减半的 short[] 数组
我有一个byte[200]
从文件中读取的,代表short[100]
小端格式的。我是这样读的:
我不知道该在“魔术操作”中添加什么。我读过关于BitConverter
,但它似乎没有BitConverter.ToShort
操作。无论如何,BitConverter 似乎在循环中进行转换,而如果可能的话,我会很感激以某种方式一次“块复制”整个数组。
c# - 如何在 C# 中将少于 8 个字节的字节转换为 ulong?
所以我现在正在实现一个密码算法。我需要将数据转换为字节,然后将其拆分为 64 位。我通过使用 BitConverter 来做到这一点。
但有时我在消息末尾没有 8 个字节,我想知道如何将少于 8 个字节的字节转换为 ulong。
有没有办法使用 BitConverter 来做到这一点?我尝试移动字节,但它太复杂了,因为我不知道确切的字节数。
c# - c# 连接 byte[] 并获取字符串结果
我遇到了一个要求,其中我有system.byte[]
来自数据库的价值。现在我需要从这些值中获取字符串bye[]
值。我正在datatable
使用datarow
. 有很多列具有system.byte[]
价值。我如何检查system.byte[]
值并将其转换为字符串显示结果?
c# - GetBytes 返回的大小与实际的数据字节不同
下面的代码遍历 aList<byte[]>()
但是问题是由于某种原因,有时 lengthBuffer 是 byteData 的不同大小。
您可以在 DebugPrintInGame 方法中看到,我打印了BitConverter.ToInt32()
length 和 actual byteDataList[i].Length
,这两个数字应该完全相同,而且很多时候它们是一样的,但是由于很多时候我不知道的原因,现在它们不是任何一个。
使用下面的代码,它将数据的长度发送到服务器,以便服务器知道传入数据的大小和预期的内容,然后发送实际数据。然而,有时它会发送比实际发送的数据更大的长度,但它是随机发生的,这让我相信这可能是一个线程问题——尽管如此 byteDataList 只在这个线程中使用,所以它甚至对我来说毫无意义锁定它。在我的测试中,我发送的数据不超过 2kb 到 17kb。
有没有人根据我的项目中的这个小片段看到为什么会发生这种情况?这段代码都是客户端。注意BitConverter.ToInt32(lengthBuffer, 0)
并且byteDataList[i].Length
预计会给出相同的长度,但事实并非如此。那就是问题所在。
在发送到服务器之前从客户端打印出来:
当最后两个应该相同时,请注意不同的长度。IE
但有时它会变得奇怪和不稳定:
lengthBuffer 和 byteDataList[i] 都应该相同。
c# - 从端口读取,位转换器错误值
我正在使用感应读卡器读取卡号。使用生产者软件,当我阅读时,我得到了这个数字:
BF 1C 08 04 01
但是使用我的应用程序这个:
3F-1C-08-04-01
代码:
有任何想法吗?
java - Java BitConverter 等效
在 C# 中有以下块
我想用Java转换它。到目前为止,我有:
我不知道BitConverter
.
如何将数据转换为UInt32
?
c# - BitConverter 异常,目标数组太小
这很容易创建。我有一个简单的字节数组,证明它在运行时有数据:
然后我只是做
它编译,但我得到一个Argument Exception
运行时说目标数组太小。
来自微软 msdn 文档:
c# - c# 开启变量类型
有没有更可爱的方法来做到这一点?给定一个字节流,将其转换为所需的数字类型。
(假设调用代码将处理与流中字节数相关的数据类型)。
我想有一个更好的方法,例如通过切换值的类型,而不是复制重载。
c# - C# 将十六进制字符串转换为十进制
我开始了获取 Mifare 1k Classic Cards 的 UID 的项目——这真的很好用。现在我必须把我的 UID 放到一个 mySQL 数据库中。我将我的 ByteArray 转换为字符串 - 这也有效。
正如我们所知,我无法将最终看起来像 0B05C2FD 的字符串放入我的数据库中。尝试了不同的数据类型,如 INT BIGINT 和 VARCHAR:
有解决办法吗?我试图转换为 Int 但这不可能使用 Convert.ToInt32(value, 16); 输入错误<.<
编辑:更改的代码添加了 Convert.ToInt32
编辑:我发现了一些东西(c#bitconverter.ToString 转换为十六进制字符串),但我不确定我是否能够将它应用到我的程序中,我真的被提问的人弄糊涂了,我对答案更加困惑:(
c# - xxHash 转换导致哈希过长
我正在使用xxHash
C# 来散列值以保持一致性。
ComputeHash
返回 a byte[]
,但我需要将结果存储在 a 中long
。
我能够将结果转换为int32
使用BitConverter
. 这是我尝试过的:
当我使用int
它时工作正常,但是当我更改ToInt64
它时失败。
这是我得到的例外:
目标数组的长度不足以复制集合中的所有项目。检查数组索引和长度。