标签: data-conversion

在 Java NIO 中使用 ByteBuffer 读写 Int

我想使用 Java NIO API 中的数据报通道通过网络传输一个 int 数组。但是,读/写函数只能将 aByteBuffer作为输入。所以我需要将 int 数据存储到 aByteBuffer然后在接收器处读回。我面对java.nio.BufferUnderflowException. 这是我在发送方所做的:

for(i = 0; i < send_data.length; i++)
{
          //Write the data onto Buffer
          ByteBuffer buffer1 = ByteBuffer.allocate(send_data[i].length*4);
          for(j = 0; j < send_data[i].length; j++)
                     buffer1.putInt(send_data[i][j]);
          buffer1.flip();
          //Transmit the data
          while(buffer1.hasRemaining())
                 channel.write(buffer1);
}
Run Code Online (Sandbox Code Playgroud)

这里send_data是一个二维数组,其中每一行都被视为一个单独的数据包。

在接收端

for(i = 0; i < k; i++)
{
           ByteBuffer buffer = ByteBuffer.allocate((recvpkt[0].length)*4);
           channel.receive(buffer);
           j = 0;
           while(buffer.hasRemaining())
           {
                  recvpkt[i][j] = buffer.getInt();
                  j = j+1;
           }
 } …
Run Code Online (Sandbox Code Playgroud)

java networking nio bytebuffer data-conversion

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

使用 -std=c99 编译时,be64toh 未链接或声明

当我编译以下程序时(我从C++ 中的 64 位 ntohl()获得的所有定义的代码?这似乎很合理):

\n\n
#include <stdint.h>\n#if defined(__linux__)\n#include <endian.h> //htobe64,be64toh\n#include <arpa/inet.h> //ntohs, ntohl, htonl, htons\n#elif defined(__FreeBSD__) || defined(__NetBSD__)\n#include <sys/endian.h>\n#elif defined(__OpenBSD__)\n#include <sys/types.h>\n#define be16toh(x) betoh16(x)\n#define be32toh(x) betoh32(x)\n#define be64toh(x) betoh64(x)\n#endif\n\nint main()\n{\n    int64_t i = 0x1212121234343434;\n    int64_t j = be64toh(i);\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用以下命令编译它时出现链接错误(我正在运行 linux):

\n\n
gcc -std=c99 endian_test.c -o endian\n
Run Code Online (Sandbox Code Playgroud)\n\n

我收到的错误是:

\n\n
user@host ~/src/c $ gcc -std=c99 derp.c \nendian_test.c: In function \xe2\x80\x98main\xe2\x80\x99:\nendian_test.c:17:2: warning: implicit declaration of function \xe2\x80\x98be64toh\xe2\x80\x99 [-Wimplicit-function-declaration]\n  int64_t j = be64toh(i);\n  ^\n/tmp/ccYonfH4.o: In function `main\':\nendian_test.c:(.text+0x23): undefined reference to …
Run Code Online (Sandbox Code Playgroud)

c linker compilation data-conversion endianness

3
推荐指数
1
解决办法
7198
查看次数

如何在jquery中将价格格式字符串转换为数字

我有一个这样的字符串

“2,099,585.43 美元”

“$”可能是任何符号,如@、#.. 等。

我想把它转换成 2099585.43

有没有简单的方法可以做到这一点?

javascript jquery data-conversion number-formatting

3
推荐指数
1
解决办法
4893
查看次数

如何将读取 ADC 值转换为浮点数?

我想将 ADC 值转换为浮点数。这是我的代码:

uint32_t ADCValue;
char str[15];

          ADCValue = HAL_ADC_GetValue(&hadc1);
          ADCValue=ADCValue*3.3/4095;
          sprintf(str, "%d", Voltage);
          HAL_UART_Transmit(&huart2, (uint8_t*)(&str), 6, 100);
          HAL_UART_Transmit(&huart2, (uint8_t*) "\n\r", 2, 100);
          HAL_Delay(500);
Run Code Online (Sandbox Code Playgroud)

我在 3.3V 下读取 4095 的值,但我正在将 3 传输到缓冲区。我想传输电压的确切值。

c data-conversion stm32 adc

3
推荐指数
2
解决办法
5029
查看次数

将数据框中的每个列表转换为普通列

我从网络上的多个来源生成了一个数据框,这些数据框事先经过清理,然后使用

cleans <- ls() 
cleans <- cleans[grepl("Clean_News", cleans)]
Run Code Online (Sandbox Code Playgroud)

我第一次尝试将它们绑定在一起的灵感来自 Stack Overflow 上的一个解决方案:

All_News <- mapply(get, grep("Clean_News", ls(), value=T))
All_News <- data.frame(t(All_News))
All_News <- as.data.frame(All_News)
Run Code Online (Sandbox Code Playgroud)

然而,这对我来说是一个问题,因为结果是一个数据框,其中每列都是整数或字符的列表。所以,我的主要问题是如何将数据框中的每个列表转换为 df 中的普通列。我在 Stack Overflow 上尝试了很多手工制作的函数,但没有一个对我有用(我猜是因为我缺乏经验......)。df 的形式为

All_News <- data.frame(a=I(list(1,1:2,1:3)), b=I(list(4:6,7:9,10:11)))
Run Code Online (Sandbox Code Playgroud)

或者,我尝试了以下方法,该方法有效:

All_News <- do.call(rbind, lapply(cleans, get))
Run Code Online (Sandbox Code Playgroud)

但有一个巨大的缺点,那就是我没有成功地将数据框的名称作为行名/或第一列放入数据框中......所以,我的第二个问题是如何将单个数据框的名称附加到每个数据框巨大 df 的行,而不是像下面的代码行那样的 id。

t2 <- rbindlist(lapply(cleans, get), idcol = "id") 
Run Code Online (Sandbox Code Playgroud)

这并没有多大好处,因为我需要重复使用所有数据帧的名称 x 次作为标识符,例如,并且由于这是一个包含数千个网页的自动化过程,所以我事先不知道每个数据帧中的行数。数据如下:

 news1 data1 data2
 news1 data5 data6
 news2 data3 data4
 and so on.
Run Code Online (Sandbox Code Playgroud)

我尝试了一些类似的事情

nr <- length(cleans)
names <- rep(cleans, nr)
names <- sort(names)
Run Code Online (Sandbox Code Playgroud)

但没有取得多大成功。

r data-conversion dataframe

3
推荐指数
1
解决办法
3815
查看次数

将因子转换为逻辑数据类型

我的数据中有一个两级因素,我想将其转换为逻辑

a <- str(df$y)
a
Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
Run Code Online (Sandbox Code Playgroud)

as.logical(df$y)用来将它们转换为逻辑的。然而,数据变成NA

summary(a)

      Mode    NA's 
    logical  500000
Run Code Online (Sandbox Code Playgroud)

在哪一点我无法转换数据?

r data-conversion

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

使用 VBA 或 Excel 将英尺和英寸(例如“5 ft 1 in”)转换为十进制英尺

我有一个数据库,其中有几列,以以下格式存储高度数据......

8 英尺 4 英寸

5 英尺 1 英寸

8 英尺 6 英寸

12 英尺 0 英寸

依此类推...3 列超过 20k 条记录。我需要使用 Excel 公式或 VBA 模块将其转换为十进制英尺。我改编了另一个 VBA 脚本,用于将以度分秒列出的坐标转换为十进制度,但我不确定哪里出错了......

Function ConvertFtInches(pInput As String) As Double
'Updateby20140227
Dim xFt As Double
Dim xIn As Double
xFt = Val(Left(pInput, InStr(1, pInput, " ft") - 1))
xIn = Val(Mid(pInput, InStr(1, pInput, " ft") + 2, _
             InStr(1, pInput, " in") - InStr(1, pInput, _
             " ft") - 2)) / 12
ConvertFtInches = xFt + xIn …
Run Code Online (Sandbox Code Playgroud)

excel vba data-conversion

3
推荐指数
1
解决办法
3535
查看次数

将嵌套的 JSON 数组转换为 CSV 文件中的单独列

我有一个如下所示的 JSON 文件:

{
    "id": 10011,
    "title": "Test procedure",
    "slug": "slug",
    "url": "http://test.test",
    "email": "test@test.com",
    "link": "http://test.er",
    "subject": "testing",
    "level": 1,
    "disciplines": [
      "discipline_a",
      "discipline_b",
      "discipline_c"
    ],
    "areas": [
      "area_a",
      "area_b"
    ]
  },
Run Code Online (Sandbox Code Playgroud)

我试图使用以下命令将其转换为 CSV 文件:

(Get-Content "PATH_TO\test.json" -Raw | ConvertFrom-Json)| Convertto-CSV -NoTypeInformation | Set-Content "PATH_TO\test.csv"
Run Code Online (Sandbox Code Playgroud)

但是,对于学科和领域,我在生成的 CSV 文件中获取 System.Object[]。

有没有办法将所有这些嵌套值作为单独的列放在 CSV 文件中,如 area_1、area_2 等。对于学科也是如此。

csv powershell json data-conversion flatten

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

如何将 AnsiString 转换为 TBytes,反之亦然?

我有一个AnsiString,我需要以最有效的方式将它转换为TBytes. 我怎样才能做到这一点 ?

delphi data-conversion ansistring

3
推荐指数
2
解决办法
4237
查看次数

如何在c ++中将vector <string>转换为const char*const*?

我正在尝试将数据转换为适合特定单元测试的格式.任务是挖掘一组单词,单元测试将确保结果是正确的.我无法访问单元测试,只需要获取const char*const*Result的声明.

所以我需要得到我的

std::vector<string> Words; 
Run Code Online (Sandbox Code Playgroud)

const char* const* Result;
Run Code Online (Sandbox Code Playgroud)

除以非alpha字符(例如空格).

我知道这是一个常量字符的常量指针,所以我不知道该怎么做,因为它们都是常数?

任何指针(单词双关语并非真正意图)表示赞赏!

c++ data-conversion

3
推荐指数
2
解决办法
414
查看次数