标签: binary

C#二进制数据转字符串

这是交易。我找到了一个源代码并对其进行了一些更改,以便我可以从 com6 上的接收器检索数据。我收到的数据是二进制的。我想要的是将其转换为字符串,以便我可以剪切字符串的一部分并单独解码它们。我怎样才能做到这一点?源代码在下面。

using System;
using System.IO.Ports;
using System.Threading;

public class PortChat
{
    static bool _continue;
    static SerialPort _serialPort;

    public static void Main()
    {
        string name;
        string message;
        StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;
        Thread readThread = new Thread(Read);

        // Create a new SerialPort object with default settings.
        _serialPort = new SerialPort();

        // Allow the user to set the appropriate properties.
        _serialPort.PortName = SetPortName(_serialPort.PortName);
        _serialPort.BaudRate = SetPortBaudRate(_serialPort.BaudRate);
        _serialPort.Parity = SetPortParity(_serialPort.Parity);
        _serialPort.DataBits = SetPortDataBits(_serialPort.DataBits);
        _serialPort.StopBits = SetPortStopBits(_serialPort.StopBits);
        _serialPort.Handshake = SetPortHandshake(_serialPort.Handshake);

        // Set the …
Run Code Online (Sandbox Code Playgroud)

c# string binary

0
推荐指数
1
解决办法
1万
查看次数

如何以二进制模式编写csv文件?

python的csv编写器不再支持二进制模式吗?

直到现在我还没有写'b'模式,我得到了非常烦人的错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-030fb0c9dc9a> in <module>()
  4 with open('test.csv', 'wb') as f:
  5     w = csv.writer(f)
----> 6     w.writerows(rows)

TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)

码:

import csv

rows = [b'1,2,3', b'4,5,6', b'7,8,9']
with open('test.csv', 'wb') as f:
    w = csv.writer(f)
    w.writerows(rows)
Run Code Online (Sandbox Code Playgroud)

如果有人能够解释那个很棒的错误.我传入一个iterable,其中每个元素都是一个字节序列,但我仍然得到一个关于输入不是'bytes'而是'str'的错误.这种行为似乎出人意料

我知道如果我关闭二进制模式,上面的代码片段可以写入普通文件.如果任何人有一个建设性的解决方案或建议,我将非常感激.

python csv binary

0
推荐指数
1
解决办法
2374
查看次数

顽固位不会被设置为1.

我有这个代码用于获取IEEE二进制数的尾数或值.

iFloat_t floatGetVal (iFloat_t x) {
  iFloat_t mantissa = (BITS == 16) ? (x & 0x03FF)
                      : (x & 0x007FFFFF);
    debug("%s: getVal before implicit 1", getBinary(mantissa));
    //mantissa = (BITS == 16) ? (mantissa | 0x04)
    //                : (mantissa | 0x008);
    mantissa = x | 0000010000000000;
    debug("%s: getVal after implicit 1", getBinary(mantissa));
    mantissa = (BITS == 16) ? (mantissa & 0x07FF)
                      : (mantissa & 0x00FFFFFF);
    if(floatGetSign(x) == 1) {
        mantissa = ~mantissa + 1;
    }
    return mantissa;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是当我尝试从数字63.125获取值时,这是相应的输出:

DEBUG iFloat.c[31] …
Run Code Online (Sandbox Code Playgroud)

c binary ieee ieee-754

0
推荐指数
1
解决办法
89
查看次数

什么是Float.floatToRawIntBits(); 在java中返回?

我试图让Java返回浮点值的二进制表示.我们说"0.125".

至于我关注的是binary32中的0.125等于:00111110 00000000 00000000 00000000

这也是我希望Java在运行以下代码时返回的内容:

int bits = Float.floatToIntBits(0.125f);
System.out.println(bits);
Run Code Online (Sandbox Code Playgroud)

但是,此代码返回此值:1040187392

我的两个问题是:

  • 如何让java返回请求的二进制表示?

  • 它返回的数字是什么意思?

java floating-point binary

0
推荐指数
1
解决办法
180
查看次数

(二进制)强制转换实际上是做什么的,为什么不应该依赖它?

我正在使用PHP 7.2.12

我在PHP手册Type Casting部分遇到了以下声明:

PHP 5.2.1中添加了(二进制)强制转换和b前缀正向支持。请注意,(二进制)强制转换与(字符串)相同,但不可依赖。

我对上述文字不完全理解。有人请向我解释清楚。

我在同一页上研究了PHP手册中给出的以下代码示例:

<?php
$binary = (binary) $string;
var_dump($binary);
$binary = b"binary string";
var_dump($binary);
?>
Run Code Online (Sandbox Code Playgroud)

输出:

Notice: Undefined variable: string in ..... on line 2
string(0) ""
string(13) "binary string"
Run Code Online (Sandbox Code Playgroud)

如果您查看上面的输出,即使将其转换为二进制后,我也会得到相同的字符串。那么,二进制转换实际执行什么转换工作?

为什么不应该依赖二进制转换?

另外,请向我说明可以执行哪种类型的二进制转换?我的意思是合法的。

在PHP手册中,没有关于这方面的任何解释或理由。

请有人指导我正确的方向来帮助我。

php string binary types casting

0
推荐指数
1
解决办法
84
查看次数

将所有位设置为最低有效位

如果我有一个xtype int,如何获取xLSB 的值并将数字中的所有其他位设置为该LSB?

我一直在与位运算符和逻辑运算符打交道,这有点(没有双关语),我知道它们是如何工作的。

移位运算符x >> 3x << 3左,右分别×3位的位移位,我知道我们可以使用运营商如^ |&为瞎搞与操纵位。我在理解此特定问题的逻辑时遇到了麻烦。

编辑:我们被允许用于此的运算符是!〜&^ | + << >>

c binary bit-manipulation

0
推荐指数
1
解决办法
274
查看次数

如何测试零是否已更改为1(反之则不行)

我有一个二进制掩码,在某个时刻我正在更新。在我的旧掩码中将1s变为0s是可以的,但相反的做法是不允许的。如何使用一些二进制运算来断言掩码中的0都没有变成1?

c binary

0
推荐指数
1
解决办法
50
查看次数

JavaScript中的二进制到字符串

我创建了一个JavaScript程序来将字符串转换为二进制。

Input: StackOverflow
Output: 1010011 1110100 1100001 1100011 1101011 
1001111 1110110 1100101 1110010 1100110 
1101100 1101111 1110111 
Run Code Online (Sandbox Code Playgroud)

现在,我想将该二进制文件转换回如下所示的字符串。有什么可行的方法吗?

Input: 1010011 1110100 1100001 1100011 1101011 
1001111 1110110 1100101 1110010 1100110 
1101100 1101111 1110111 

Output StackOverflow
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript binary

0
推荐指数
1
解决办法
130
查看次数

如何区分零和负零?

我正在实现该printf()功能。几乎所有东西都可以正常工作,但是当称为时,我遇到了一个问题ft_printf("%f", -0.0)。我的程序输出0.0而不是-0.0。我不能使用任何库。

我检查负性的条件就是“ x <0”,这不包括我的问题。我发现了区分零和负零的有希望的解决方案。

这似乎可以解决我的问题:

double a = -0.0;
printf("%d\n", (*((long *)&a) == 0x8000000000000000));
Run Code Online (Sandbox Code Playgroud)

我希望打印该程序,1但是在我的程序中,当它在输出的代码中执行时0。我有一个问题理解的部分是如何*((long *)&a)做到的:使一个数字可与十六进制对应的数字相提并论。

c floating-point binary hex

0
推荐指数
1
解决办法
104
查看次数

如何将带有矢量或其他标准库容器的对象保存到C ++中的二进制文件?

像这样的对象:

#include <vector>
using namespace std;
class A
{
public:
    vector<int> i;
    //save other variable
};

void save(const A & a)
{
    //dosomething
}

int main()
{
    A a;
    save(a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如何将其保存到二进制文件?换句话说,如何编写保存功能?

c++ binary fstream stream c++11

0
推荐指数
1
解决办法
61
查看次数

标签 统计

binary ×10

c ×4

floating-point ×2

string ×2

bit-manipulation ×1

c# ×1

c++ ×1

c++11 ×1

casting ×1

csv ×1

fstream ×1

hex ×1

ieee ×1

ieee-754 ×1

java ×1

javascript ×1

php ×1

python ×1

stream ×1

types ×1