问题标签 [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.
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中获取输出?
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
我可以使用“<<”运算符将字符串放入字符串流还是不推荐?
c++ - 间接运算符是否会更改内存表示?
好的,我觉得问这个很愚蠢,但是为什么下面的代码输出不同的行?
要打印第一行,我将地址指向数组的第一个字节,将其解释为指向 uint16_t 的指针,获取值并逐个打印它。
对于第二行,我获取指向第一个字节的指针,将其解释为指向 uint8_t 的指针,获取值并逐个打印它。然后对第二个字节做同样的事情。
由于我不修改为数组分配的内存,只以不同的方式解释它,我希望输出相同,但字节顺序不同。
我可能错过了一些东西,但我唯一的猜测是间接运算符做了我没想到的事情。
输出
更新#1:请忽略分配,是的,示例代码不适用于每个操作系统,但这只是一个简化的示例。
更新#2:我知道字节序,但我错过的是逻辑与物理位表示。在上面的示例中,即使物理表示未更改,我也会打印受字节序影响的逻辑表示。非常感谢@john-kugelman 对此的解释。
c++ - 如何在不转换值的情况下从 uint8_t 或 char 中的字符串保存十六进制值?
我有一个二进制文件,我正在读取并保存为十六进制值。这些十六进制值将用于闪存设备,但我需要将十六进制值存储为 uint8_t 或 char(最好是 uint8_t)。目前,这些值存储在一个字符串中,一次只存储一个字节。我想要做的是将值存储为 uint8_t 而不是字符串。
因此,如果值为std:string result
is ,我希望0x3A
值为,而不是其他值。uint8_t flash[1]
0x3A
58
如何做到这一点?
任何帮助表示赞赏:)
编辑:
正如我最初预期并已确认的那样,无论我使用哪种方法,这些值都是相同的。对于那些希望查看生成字符串的代码的人,这里是:
c++ - stringstream >> uint8_t 十六进制?C++
我对以下代码的输出感到困惑:
以上的输出是:
52 74
4 焦
34 4a
4
当我们更改时,将第一行替换为:
输出变成:
74 74
74 74
4a 4a
Ĵ
我想我明白会发生什么,但我不明白为什么会发生或如何防止它/解决它。据我了解std::hex
,修饰符由于 的类型而受到某种程度的破坏,x
在技术层面上可能并不完全正确,但它只是写了它读取的第一个字符。
背景:输入应该是一串十六进制数字,每一对代表一个字节(就像一个位图,除了字符串)。我希望能够读取每个字节并将其存储在 a 中uint8_t
,所以当我遇到这个问题时我正在试验它。我仍然无法确定什么是最好的方法,所以如果您认为我正在做的事情效率低下或不必要,我会很高兴知道为什么。感谢您的阅读,
arrays - 将字符串转换为 UTF 8
我目前有一个字符串数组,我想将其转换为 UInt8 数组?所有字符串都是 UInt8 的,但是我只能将它作为字符串检索。有任何想法吗?
我将数组中的每个项目拆分为单独的部分,我只是不知道如何将字符串转换为 UInt8。
谢谢
c - C将8位值转换为16位值
我有一种情况,我将一个包含 2 个 1 字节值的数组传递给一个函数,但不知何故,该函数认为该数组的长度为 4 个字节,这大大扰乱了我的位操作。我什至尝试将每个数组值显式转换为uint8
,但无济于事。关于可能发生的事情有什么想法吗?在 Eclipse Mars.1 上使用 cygwin 的 gcc 工具。
编辑
还有一件事。sizeof(bitArray) 在 main() 中产生 2 个字节。
ios - 在图像顶部三分之一以下的“getColorOfPixel”方法期间崩溃
我正在使用本教程中的 UIImage 类别方法根据点击的位置获取 UIImage 中特定像素的颜色。这是一个灰度图像,完全不透明。我在这里复制了方法:
当我在图像的顶部三分之一内点击时,它可以完美运行。但是当我点击图像的下三分之二(左右)时,它每次都在UInt8 red
我上面提到的那条线上崩溃。日志中没有任何内容,但我在该行收到红色EXC_BAD_ACCESS
警告。
谁能帮助我了解可能出了什么问题,以及如何解决?
编辑:从一系列水龙头中 记录data
和pixelInfo
值似乎没有提供任何有用的信息:
c - uint16_t uint8_t 还是 size_t?
我想使用一个函数,该函数负责通过使用将“数据大小”和“数据”发送到特定文件描述符write()
。它在记录长度等于 2 个字节时起作用。但是,我想使用相同的函数发送也等于 1 字节的记录长度。
因为第二种情况只有 1 个长度字节,所以我自愿去掉了字节序操作,这是 2 个字节的情况下必须的。
这是最好的练习方式吗?
c++ - 如何根据位将有符号整数值转换为无符号整数?
我想将有符号值转换为无符号值(例如int8_t
to uint8_t
),但它也必须保留其位。
我该怎么做?