问题标签 [binary]

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.

0 投票
2 回答
13985 浏览

mysql - MySQL 二进制与哈希 ID 的非二进制

假设我想使用哈希作为 ID 而不是数字。BINARY将它们存储为非二进制文件会带来性能优势吗?

0 投票
6 回答
15601 浏览

linux - 串行终端上的二进制数据

我与嵌入式设备的唯一通信方式是串行端口。默认情况下,嵌入式 Linux 使用此端口作为终端。如何禁用此终端并使用串行链路传输二进制数据?我听说过 rx 和 tx 之类的命令,但我找不到它们。

我想我可以从 /dev/tty 中读取()和写入()内容,但我想确保没有错误消息或任何与我的数据流混淆的东西。

0 投票
4 回答
6566 浏览

algorithm - 创建具有特定位数设置的多个数字

问题

我需要创建 32 位数字(有符号或无符号都无关紧要,无论如何都不会设置最高位)并且每个数字都必须设置给定数量的位。

天真的解决方案

最简单的解决方案当然是从零开始。在一个循环内,数字现在增加一,对位的数量进行计数,如果计数具有所需的值,则将数字存储到列表中,如果不是,则循环重复。如果找到足够的数字,则停止循环。当然,这工作得很好,但是一旦所需的位数变得非常高,它就会非常慢。

更好的解决方案

设置(假设)5 位的最简单数字是设置前 5 位的数字。这个号码可以很容易地创建。在一个循环中,第一位被设置并且数字向左移动一个。这个循环运行了 5 次,我找到了第一个设置了 5 位的数字。接下来的几个数字也很容易创建。我们现在假设这个数字是 6 位宽,并且最高的没有设置。现在我们开始将第一个零位向右移动,因此我们得到 101111、110111、111011、111101、111110。我们可以通过在前面添加另一个 0 并重复此过程来重复此过程。0111110、1011110、1101110 等。然而,这样数字的增长速度会比必要的快得多,因为使用这种简单的方法,我们会忽略像 1010111 这样的数字。

那么有没有更好的方法来创建所有可能的排列,一种通用的方法,可以使用,不管下一个数字有多少位,也不管我们需要设置多少位?

0 投票
4 回答
529 浏览

c# - 如何在 C# 中将数字输出为一串位?

在 C# 中,如何将数字作为二进制输出到控制台?例如,如果我有一个值为 20 的 uint,我如何打印到控制台:00010100(二进制为 20)?

0 投票
7 回答
22515 浏览

database - 将图像存储在数据库中的最佳格式是什么?

将图像存储在数据库中的最佳格式是什么,例如二进制、base64 等,以获得最佳速度/大小。

0 投票
6 回答
1398 浏览

c - LINUX:是否可以编写不依赖 libc 库的工作程序?

我想知道我是否可以用C可执行的-programming 语言编写一个程序,尽管不使用单个库调用,例如甚至不使用exit()?

如果是这样,它显然根本不依赖库(libc、ld-linux)。

0 投票
5 回答
58672 浏览

c# - 如何使用 System.Net.Mail 向电子邮件添加附件?

我有一个表示为 byte[] 的 excel 文档,我想将它作为电子邮件的附件发送。

我在构建附件时遇到了一些麻烦。

我可以创建一个具有以下构造函数的附件:

我目前的想法是从 byte[] 创建一个 MemoryStream 并将其传递给创建附件的方法。

不幸的是,我看不到从 MemoryStream 获取预期文件名和内容类型的方法,我也看不到如何提供正确的内容类型。有纯文本、Pdf、Rtf 等选项,但没有一个我可以立即跳出来作为我应该用于 Excel 文档的选项。

我能找到的最接近的是MediaTypeNames.Application.Octet,它指出:

Octet 成员指定附件包含通用二进制数据。

但是,即使这是要使用的,除非它可以作为 Stream 的属性传递,否则我发送电子邮件的方法将只能将 byte[] 作为 Excel 文档发送......

是否有其他类型的 Stream 我可以使用?或者我是否必须创建自己的 Stream 类型,其中包含我需要的详细信息。

肯定有人以前做过这件事,而且微软肯定会考虑到这个程度......

任何帮助将非常感激。

更新: 请不要投票给任何使用将文件名作为字符串的构造函数的答案。我真的需要帮助使用带流的那些......我想避免将文件写入磁盘,通过电子邮件发送,然后立即删除它。因为有一种方法可以让我做到这一点,所以我想尽可能使用那个方法。

解决方案更新

康拉德设法找到了我要找的东西!谢谢大佬!

我将仅记录建议的解决方案,以防提供的链接中的内容发生问题。

此解决方案的功劳归于 www.systemnetmail.com

就我而言,这只是意味着我必须更改我的方法以将文件名和文件格式作为字符串。我会尝试使用 Octet 的……但如果失败了,我只会传入官方的 MIME 类型。

考虑到所有因素,这是一个非常明显的解决方案……但我确实感谢解决它的帮助……而且好消息是这个解决方案将记录在案,以供未来遇到同样问题的程序员使用。

再次感谢大家的帮助!

0 投票
15 回答
12047 浏览

svn - 在 SVN 中存储二进制文件是否可以接受/很好?

我们想共享运行时项目二进制文件。所以每个团队成员都可以使用当前的工作版本。在 SVN 中存储运行时二进制文件是否可以接受/很好?

0 投票
3 回答
1258 浏览

text - 如何确定 .NET 中文件的内容类型?

我得到了一个文件名,我必须能够从磁盘读取它并通过网络发送它的内容。我需要能够确定文件是文本文件还是二进制文件,以便知道是使用 StreamReader 还是 BinaryReader。我需要知道内容类型的另一个原因是,如果它是二进制的,我必须在通过网络发送数据之前对数据进行 MIME 编码。我还希望能够告诉消费者内容类型是什么(如果是文本,包括编码)。

谢谢!

0 投票
2 回答
22045 浏览

mysql - 存储 MySQL GUID/UUID

这是我能想出的将 UUID() 生成的 MySQL GUID/UUID 转换为二进制 (16) 的最佳方法:

然后将其存储在 BINARY(16)

这样做有什么我应该知道的含义吗?