我想将二维 int 数组转换为字节数组。最简单的方法是什么?
例子:
int[,] array = new int[2, 2] { { 2, 1 }, { 0, 1 } };
Run Code Online (Sandbox Code Playgroud)
我怎样才能转换array为a byte[]?在您的答案中,请同时包含与之相反的函数。(如果有一个函数可以将 an 转换int[,]为 a byte[],请告诉我如何将 a 转换byte[]为 an int[,])
如果您问自己为什么我需要这样做:我需要通过int[,]TCP 客户端将 a 发送到服务器,那么向客户端发送响应
PS:我考虑创建一个[Serializeable]类,其中包含int[,],然后将该类序列化为一个文件并发送该文件,在服务器端我将反序列化该文件并从那里获取数组。但我认为这需要更多的资源才能做到这一点,然后将其转换为byte[].
感谢您的帮助!:)
与这个问题类似,在 go 中一次处理一个字节的惯用方法是什么?
换句话说,有没有更好的方法来编写以下内容?
file, err := ioutil.ReadFile(filename)
file_string = string(file)
for i, c := range file_string {
// -snip-
}
Run Code Online (Sandbox Code Playgroud) 我有一个字节数组,我将其转换为 big int 并输出到控制台。
在 C# 中: https : //dotnetfiddle.net/eNz1Lg
在围棋中: https : //play.golang.org/p/gXKoEja_8Dd
为什么结果我有不同的数字?
C#结果: 29063245685294006143166067625254036131869872254473278645853807481306566623231
去结果: 115792089237316195423570985008687907852837564279074904382605163141518161494336
可以将所有0-255字节状态写入文件导致任何错误?由于字节'0'是EOF,这是否意味着我的文件可以包含一个EOF字符?
编辑:文件可以包含任何字节0-255,它们可以重复任意次数.
我现在感到愚蠢.
我有一个字符串,其中包含 45f5f5ca1997b35bf09b8e0932b0d693967d0608a3c
如何获取该字符串的前 16 个字节?
输出是9,我无法理解整个按位XOR概念.
public class XOR {
public static void main( String[] args ) {
int a = 12;
int b = 5;
int c = a ^ b;
System.out.print( c );
}
}
Run Code Online (Sandbox Code Playgroud) 我知道什么是填充以及对齐是如何工作的。鉴于以下结构:
typedef struct {
char word[10];
short a;
int b;
} Test;
Run Code Online (Sandbox Code Playgroud)
我不明白 C 如何解释和对齐结构内的 char 数组。它应该是 9 个字符 + 终止符,它应该被认为是最长的,如下所示:
| - _ - _ - _ - _ - word - _ - _ - _ - _ - |
| - a - | - _ - b - _ - | padding the remaining 4 bytes
Run Code Online (Sandbox Code Playgroud)
“-”代表一个字节,“_”分隔字节。所以我们有 10 字节长的字,2 字节长的 a 和 4 字节长的 b 以及 4 字节的填充。但是当我打印 sizeof(Test) 它返回16.
编辑:我明白了。
这里,我有一个包含 0,1,-1 的数组。我将所有 -1 替换为 0,然后创建一个由 0 和 1 组成的字符串。稍后,将字符串转换为 Byte,但默认情况下,Byte.parseByte() 会将字符串转换为带符号的 Byte。请向我建议一个将其转换为无符号字节的解决方案。
public class Test{
public static void main(String []args){
int[][] intArray = new int[][]{
{-1,0,0,-1,0,1,1,0},
{1,1,0,-1,0,0,-1,0},
{-1,0,1,1,0,-1,1,0},
{1,-1,-1,0,0,1,-1,0}
};
for(int j=0; j<intArray.length;j++){
String BitString = "";
for(int i=0; i<8;i++ ){
if (intArray[j][i] == -1){
BitString = BitString + "0";
}
else{
BitString = BitString + intArray[j][i];
}
}
System.out.println(BitString);
try{
Byte b = Byte.parseByte(BitString,2);
System.out.println(b);
System.out.println(b.getClass().getName());
}
catch(Exception e){
System.out.println(e.toString());
}
System.out.println("\n");
}
}
}
Run Code Online (Sandbox Code Playgroud)
示例输出:
00000110
6 …Run Code Online (Sandbox Code Playgroud) 我正在用c#编写一个简单的ftp客户端.
我不是c#的专业人士.有没有办法将字符串转换为byte []并将其写入套接字?
例如,为了引入用户名,这是套接字内容:
5553455220736f726f7573680d0a
Run Code Online (Sandbox Code Playgroud)
和ASCII等价物是:
USER soroush
Run Code Online (Sandbox Code Playgroud)
我想要一个转换字符串的方法.像这样的东西:
public byte[] getByte(string str)
{
byte[] ret;
//some code here
return ret;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用人机接口设备协议从外部设备获取数据。我使用的库返回一个字节数组 ( [u8; 64]),我想从一个字节中提取一个字节i7(将i8在 Rust 中)。
我想要操作的字节中有两条不同的信息:
你知道我可以做什么来实现这个目标吗?
如何将我的字节数组转换为图片?我希望它以保存的 JPG 或 BMP 格式显示,而不仅仅是显示为文本或在控制台上。
这是示例数组:
[255, 216, 255, 224, 0, 16, 74, 70, 73, 70, 0, 1, 1, 1, 0, 72, 0, 72, 0, 0, 255, 219, 0, 67, 0, 14, 10, 11, 13, 11, 9, 14, 13, 12, 13, 16, 15, 14, 17, 22, 36, 23, 22, 20, 20, 22, 44, 32, 33, 26, 36, 52, 46, 55, 54, 51, 46, 50, 50, 58, 65, 83, 70, 58, 61, 78, 62, 50, 50, 72, 98, 73, 78, 86, …Run Code Online (Sandbox Code Playgroud)