问题标签 [uint8t]

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.

0 投票
0 回答
274 浏览

ios - 如何将Objective-C IOSByteArray“转换”为C uint8_t 指针,反之亦然

问题:

我有一个使用IOSByteArray类进行二进制数据存储/操作的 Objective-C 代码:

这些数据需要在C函数中处理:

int 函数(常量 uint8_t * 输入,size_t inputlen,uint8_t * 输出,size_t outputlen)

如何正确地将 inputData 传递函数并在 IOSByteArray outputData中获取输出?

0 投票
2 回答
612 浏览

c++ - 将 uint8 向量的元素转换为字符串流

我在弄清楚如何将我的 uint8 向量转换为字符串流时遇到了一些麻烦。

在输入我得到 uint8 的向量时,前 9 个字节是我的字符串流中不需要的标志,接下来的 2 个字节是我需要作为字符串的一些数据,我们称它们为“name1”,接下来的 2 个字节是另一个名称,以免调用它“name2”,然后是 4 个字节,它们是一些 uint32 数字(但写为 4 个 uint8 字节),让我们称之为“数字”。现在我需要将这些数据传递给 stringstream 但是:

  • name1 和 number2 需要写成字节(byte 0x52 -> char[2]={"5","2"})
  • number 需要转换为 uint32
  • 所有变量都需要在最终字符串流中用分号分隔

所以如果我得到一个像这样的向量:

---一些 9 个字节---, 0x05, 0x00, 0x01,0x00,0x00,0x00,0x08,0x0E, ---一些其他数据---

我需要 stringstream 是这样的:

“0500;0100;2062;”

我已经设法弄清楚如何将数字转换为 uint32:

有没有更好的方法来做到这一点?

编辑:

如何将 uint8 值作为字符传递给字符串?

例子:

字节输出:0x05

字符串输出:05

我可以使用“<<”运算符将字符串放入字符串流还是不推荐?

0 投票
3 回答
106 浏览

c++ - 间接运算符是否会更改内存表示?

好的,我觉得问这个很愚蠢,但是为什么下面的代码输出不同的行?

要打印第一行,我将地址指向数组的第一个字节,将其解释为指向 uint16_t 的指针,获取值并逐个打印它。

对于第二行,我获取指向第一个字节的指针,将其解释为指向 uint8_t 的指针,获取值并逐个打印它。然后对第二个字节做同样的事情。

由于我不修改为数组分配的内存,只以不同的方式解释它,我希望输出相同,但字节顺序不同。

我可能错过了一些东西,但我唯一的猜测是间接运算符做了我没想到的事情。

输出

更新#1:请忽略分配,是的,示例代码不适用于每个操作系统,但这只是一个简化的示例。

更新#2:我知道字节序,但我错过的是逻辑与物理位表示。在上面的示例中,即使物理表示未更改,我也会打印受字节序影响的逻辑表示。非常感谢@john-kugelman 对此的解释。

0 投票
3 回答
3356 浏览

c++ - 如何在不转换值的情况下从 uint8_t 或 char 中的字符串保存十六进制值?

我有一个二进制文件,我正在读取并保存为十六进制值。这些十六进制值将用于闪存设备,但我需要将十六进制值存储为 uint8_t 或 char(最好是 uint8_t)。目前,这些值存储在一个字符串中,一次只存储一个字节。我想要做的是将值存储为 uint8_t 而不是字符串。

因此,如果值为std:string resultis ,我希望0x3A值为,而不是其他值。uint8_t flash[1]0x3A58

如何做到这一点?

任何帮助表示赞赏:)

编辑:

正如我最初预期并已确认的那样,无论我使用哪种方法,这些值都是相同的。对于那些希望查看生成字符串的代码的人,这里是:

0 投票
1 回答
2317 浏览

c++ - stringstream >> uint8_t 十六进制?C++

我对以下代码的输出感到困惑:

以上的输出是:

52 74

4 焦

34 4a

4

当我们更改时,将第一行替换为:

输出变成:

74 74

74 74

4a 4a

Ĵ

我想我明白会发生什么,但我不明白为什么会发生或如何防止它/解决它。据我了解std::hex,修饰符由于 的类型而受到某种程度的破坏,x在技术层面上可能并不完全正确,但它只是写了它读取的第一个字符。

背景:输入应该是一串十六进制数字,每一对代表一个字节(就像一个位图,除了字符串)。我希望能够读取每个字节并将其存储在 a 中uint8_t,所以当我遇到这个问题时我正在试验它。我仍然无法确定什么是最好的方法,所以如果您认为我正在做的事情效率低下或不必要,我会很高兴知道为什么。感谢您的阅读,

0 投票
3 回答
97 浏览

arrays - 将字符串转换为 UTF 8

我目前有一个字符串数组,我想将其转换为 UInt8 数组?所有字符串都是 UInt8 的,但是我只能将它作为字符串检索。有任何想法吗?

我将数组中的每个项目拆分为单独的部分,我只是不知道如何将字符串转换为 UInt8。

谢谢

0 投票
2 回答
1970 浏览

c - C将8位值转换为16位值

我有一种情况,我将一个包含 2 个 1 字节值的数组传递给一个函数,但不知何故,该函数认为该数组的长度为 4 个字节,这大大扰乱了我的位操作。我什至尝试将每个数组值显式转换为uint8,但无济于事。关于可能发生的事情有什么想法吗?在 Eclipse Mars.1 上使用 cygwin 的 gcc 工具。

编辑

还有一件事。sizeof(bitArray) 在 main() 中产生 2 个字节。

0 投票
0 回答
41 浏览

ios - 在图像顶部三分之一以下的“getColorOfPixel”方法期间崩溃

我正在使用本教程中的 UIImage 类别方法根据点击的位置获取 UIImage 中特定像素的颜色。这是一个灰度图像,完全不透明。我在这里复制了方法:

当我在图像的顶部三分之一内点击时,它可以完美运行。但是当我点击图像的下三分之二(左右)时,它每次都在UInt8 red我上面提到的那条线上崩溃。日志中没有任何内容,但我在该行收到红色EXC_BAD_ACCESS警告。

谁能帮助我了解可能出了什么问题,以及如何解决?

编辑:从一系列水龙头中 记录datapixelInfo值似乎没有提供任何有用的信息:

0 投票
1 回答
1990 浏览

c - uint16_t uint8_t 还是 size_t?

我想使用一个函数,该函数负责通过使用将“数据大小”和“数据”发送到特定文件描述符write()。它在记录长度等于 2 个字节时起作用。但是,我想使用相同的函数发送也等于 1 字节的记录长度。


因为第二种情况只有 1 个长度字节,所以我自愿去掉了字节序操作,这是 2 个字节的情况下必须的。

这是最好的练习方式吗?

0 投票
3 回答
395 浏览

c++ - 如何根据位将有符号整数值转换为无符号整数?

我想将有符号值转换为无符号值(例如int8_tto uint8_t),但它也必须保留其位。

我该怎么做?