标签: binaryfiles

通过 HTTP GET 读取 TSQL 中的二进制数据

我需要通过 HTTP URL 将一些图像导出到我的 SQL Server。

我找到了关于导出 XML 数据的文章:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO

Declare @Object as Int; 
Declare @ResponseText as Varchar(8000); 
Declare @Url as Varchar(MAX); 
select @Url = 'http://somexml.com/xmlfile.xml'

Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT; 
Exec sp_OAMethod @Object, 'open', NULL, 'get', @Url, 'false' 
Exec sp_OAMethod @Object, 'send' 
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT      
Exec sp_OADestroy @Object 

--load into Xml 
Declare @XmlResponse as xml; 
select @ResponseText
Run Code Online (Sandbox Code Playgroud)

同样在研究期间,我发现我应该对二进制数据使用ADODB.Stream。但我无法弄清楚如何使用上述方法读取此对象。有没有办法在纯 TSQL …

t-sql sql-server binaryfiles http

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

计算c#中二进制文件符号的频率不起作用但是对等效的c ++代码起作用

我正在尝试计算二进制文件中符号的频率c#,我已经在c ++中完成了,并且工作正常,我已经从c ++切换到c#因为我必须在c#中实现相同的.

注意:我不必使用LUT/Arrays只能使用链表.

通过frequency我的意思是符号的重复,并以数字symbols我的意思是如果我们看到使用的二进制文件xxd -b BinaryFile.bin,然后我们会得到很多8 bits的组合01.那么每个符号重复的次数是它的频率.

现在,我是如何尝试这样做的:c#通过mono filename.exe BinaryFile.bin在终端上用notepad ++中的文件名编写代码来实现它.

逻辑: 我读取BinaryFile中的每个符号,如果没有重复,那么我将它添加到链表的尾部,如果它重复,那么我增加它的频率.我重复完整的二进制文件.

码:

代码为c#(完整):(哪些不能正常工作,我已经指出问题包含代码的一部分,我把完整的代码,因为可能你需要它):

  ////Problem containing part starts here ////////
        public Huffman(string[] args) //called from MyClass 
        {
            Node tree = null;
            int counter = 0;
            using(var stream = new BinaryReader(System.IO.File.OpenRead(args[0]))) 
            {
                while (stream.BaseStream.Position < stream.BaseStream.Length) 
                {
                    int processingValue = stream.ReadByte();
                    Node ppt, pt, temp;
                    bool is_there = false; …
Run Code Online (Sandbox Code Playgroud)

c# c++ algorithm binaryfiles linked-list

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

C#:将值写入二进制 (.bin) 文件格式

所以可以说我有以下值:

HEADER01    48 45 41 44 45 52 30 31
06/17/14    30 36 2F 31 37 2F 31 34
1.0         31 2E 30

0x0000      00
0x0027      27
0x0001      01
0x0001      01
0x0001      01
0x0001      01
0x0028      28

192         C0
168         A8
1           01
1           01
Run Code Online (Sandbox Code Playgroud)
  • 前 3 个值是 STRINGS,应转换为 ASCII HEX 值,然后写入 .bin 文件

  • 接下来的 7 个值是 HEX,应按原样写入 .bin 文件

  • 最后4个值是INTEGERS,应该转换成HEX,然后写入.bin文件

    OUTPUT (.bin) 文件应如下所示:

    00000000  48 45 41 44 45 52 30 31  30 36 2F 31 37 2F 31 …
    Run Code Online (Sandbox Code Playgroud)

.net c# binary hex binaryfiles

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

在 Linux 上旋转二进制文件

我一直在尝试使用 logrotate 根据大小旋转二进制文件,但该程序似乎不适用于二进制文件。就其价值而言,这是我用于此特定文件的配置:

<filepath> {
  copytruncate
  compress
  missingok
  size 10M
  rotate 100
  nomail
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议一个可以处理二进制文件并具有与 logrotate 相同的基本功能的程序吗?

linux binaryfiles logrotate

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

如何在C中从二进制文件读取到文本文件?

我在从二进制文件复制和写入文本文件时遇到问题。我编写了一个能够从文本文件复制并写入二进制文件的程序,但我不能反过来。

这是我遇到问题的功能:

void CopyBin2Text(char* rafname, char* txtname)
{

FILE * fraf = fopen(rafname,"rb");
FILE * ftxt = fopen(txtname,"r+");

//READ FROM BINARY FILE
struct PERSON p;
int ByteOfBin;


printf("ID \t NAME \t\t BALANCE \n");
printf("---------------------------------------\n");
Run Code Online (Sandbox Code Playgroud)

当我运行我的程序时,它在打印上述语句后停止在这里

  while(!feof(fraf))
  {
       fscanf(fraf, "%d %s %f", &p.ID, p.name, &p.balance);

    ByteOfBin = ((p.ID/10-1)*sizeof(p));
    fseek(ftxt,ByteOfBin, SEEK_SET);
    fwrite((char *)&p, sizeof(p), 1, ftxt);

  }


fclose(fraf);
fclose(ftxt);
}
Run Code Online (Sandbox Code Playgroud)

我注意到的另一个问题是文本文件变得太大而无法打开。结果是我必须删除文本文件并重新创建它。任何人都可以解释导致这种情况发生的原因吗?

c binary binaryfiles file text-files

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

随机数外部排序

我需要编写一个程序来生成 N 个随机数并按降序将它们写入二进制文件。它应该在不使用任何使用主内存的排序算法的情况下完成。这是我到目前为止所做的:

#include <iostream>
#include <fstream> 
#include <ctime>
#include <cstdlib>

using namespace std;
int main () {
  srand(time(0));
  rand();
  int N;
  do{
    cout << "Unesite N: ";
    cin >> N;
    } while(N<=0);

  ofstream br("broj.dat", ios::binary | ios::trunc);

  for(int i = 0; i<N; i++){
    int a = rand();
    br.write((char *)&a, sizeof(a));
  }
  br.close();

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以,我生成了随机数并将它们写入二进制文件,但我不知道如何对其进行排序。

c++ sorting random algorithm binaryfiles

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

为什么有些二进制文件在存储字符串时字符之间有空字节?

当我过去经常处理 .CON 文件(游戏将在 Xbox 360 上使用的本机文件格式)时,我记得在使用十六进制编辑器查看这些文件时看到这些文件中的文本由空字节分隔。

今天我还注意到,在使用 SQLite 浏览器查看来自 Chrome 的本地存储文件时;存储为二进制/blob 值的所有文本字段,如下所示:

22007700730073003a002f002f006700
6100740065007700610079002e006400
6900730063006f00720064002e006700
67002200
Run Code Online (Sandbox Code Playgroud)

空字节是怎么回事?这是不同类型的字符编码吗?我认为它不可能是 utf8,因为 utf8 不会使用两个字节来编码 ascii 范围内的字符,但也许我错了?

binaryfiles utf-8 character-encoding

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

是否可以使用 PHP 生成 WAV 文件?

我想编写一个生成短音频文件(最好是 WAV)的小型 Web 应用程序。

音频文件将非常简单,如下所示:

例如。用户输入:

350 1000
500 1000
Run Code Online (Sandbox Code Playgroud)

输出:两秒的 WAV 文件,第一秒是 350Hz 音调,第二秒是 500Hz 音调,就像在这个发生器中一样

是否可以使用 PHP 来做到这一点?

php audio binaryfiles

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

更新 Node.js 中的二进制文件

我正在尝试使用 Node.js 处理二进制文件。

我正在尝试从客户端接收二进制文件,打开二进制文件,转换为十六进制,替换数据并将新的二进制文件返回给客户端。

app.use('/read-binary-file',(req,res) => {
    try {
        let content = fs.readFileSync(file_path);
        console.log('content', content)
        res.status(200).send({content})
    }
    catch(err) {
        console.error(err);
    }
})
Run Code Online (Sandbox Code Playgroud)

我编写了采用现有文件并尝试读取它的代码。当我打印它时,我在缓冲区中得到它:

content <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... >
Run Code Online (Sandbox Code Playgroud)

我不确定如何将其转换为十六进制,然后尝试更改它...当我通过在线十六进制编辑器读取文件时,我将它们每行 16 位,这种方式非常方便。 …

javascript binaryfiles file node.js express

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

如何从二进制文件c#中读取int数组

我有以下代码:

LZW lzw = new LZW();
int[] a = lzw.Encode(imageBytes);

FileStream fs = new FileStream("image-text-16.txt", FileMode.Append);
BinaryWriter w = new BinaryWriter(fs);

for (int i = 0; i < a.Length; i++)
{
   w.Write(a[i]);

}

w.Close();
fs.Close();
Run Code Online (Sandbox Code Playgroud)

如何从文件中读取数组元素?我尝试了几种方法.例如,我将数组的长度写入文件,我试着读取数字.但是,我失败了.

注意.我需要获取int数组.

c# binaryfiles bytearray

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