二进制文件一定比文本文件节省空间吗?

2024-02-06 16:08

本文主要是介绍二进制文件一定比文本文件节省空间吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      看程序:

#include<stdio.h>int main()
{int a = 9;int len = sizeof(a);FILE *fp1 = fopen("log1", "w");fprintf(fp1, "%d", a);fclose(fp1);FILE *fp2 = fopen("log2", "wb");fwrite(&a, len, 1, fp2);fclose(fp2);return 0;
}
     用ultraEdit观察log1和log2, 发现:log1比log2小。

    

    看程序:

#include<stdio.h>int main()
{int a = 999999;int len = sizeof(a);FILE *fp1 = fopen("log1", "w");fprintf(fp1, "%d", a);fclose(fp1);FILE *fp2 = fopen("log2", "wb");fwrite(&a, len, 1, fp2);fclose(fp2);return 0;
}
    用ultraEdit观察log1和log2, 发现:log1比log2大。


    可见,在极为特殊的情况下,二进制文件占的空间更大,在大多数情况下,文本文件占的空间更大。

这篇关于二进制文件一定比文本文件节省空间吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/684834

相关文章

二进制文件转化成文本文件

文章中如果有写错、表述不明、有疑问或者需要扩展的知识,欢迎留言或者私信~   1.区别 如果一个文件说是文本文件,使用任何一种文本编辑器打开可以展现出人类可读信息字符,因为编码都符合某种编码方式,如ASCII、UTF8、GB2312等等(在文件头可以读出来是什么编码方式,然后文本编辑器再按照规则去读取翻译成对应的字符,展示给我们的就是可读的了)。(关于编码方式不了解可以看这一篇) 如果一

JAVA读取MongoDB中的二进制图片并显示在页面上

1:Jsp页面: <td><img src="${ctx}/mongoImg/show"></td> 2:xml配置: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001

陀螺仪LSM6DSV16X与AI集成(8)----MotionFX库解析空间坐标

陀螺仪LSM6DSV16X与AI集成.8--MotionFX库解析空间坐标 概述视频教学样品申请源码下载开启CRC串口设置开启X-CUBE-MEMS1设置加速度和角速度量程速率选择设置FIFO速率设置FIFO时间戳批处理速率配置过滤链初始化定义MotionFX文件卡尔曼滤波算法主程序执行流程lsm6dsv16x_motion_fx_determin欧拉角简介演示 概述 本文将探讨

剑指Offer—编程题10(二进制中1 的个数)

代码如下,请在JDK7及以上版本运行: public class Test10 {/*** 请实现一个函数, 输入一个整数,输出该数二进制表示中1的个数。* 例如把9表示成二进制是1001 ,有2位是1. 因此如果输入9,该出2。** @param n 待的数字* @return 数字中二进制表表的1的数目*/public static int numberOfOne(int

java NIO 缓存区之内核空间、用户空间和虚拟地址

IO是基于缓存区来做的,所谓的输入和输出就是从缓存区中移入和移出数据。以IO输入为例,首先是用户空间进程向内核请求某个磁盘空间数据,然后内核将磁盘数据读取到内核空间的buffer中,然后用户空间的进程再将内核空间buffer中的数据读取到自身的buffer中,然后进程就可以访问使用这些数据。     内核空间是指操作系统内核运行的空间,是为了保证操作系统内核的能够安全稳定地运行而为内核专

内存填充越界 + malloc空间不够导致越界

【创建时间:2014-11-1 11:50】 [2014-10-31]:环境:系统:Linux版本:3.08    平台:Hisi3516c。 内存填充越界: 问题: 申请了一个2048字节局部静态的变量存储一个固定RGB值,方便后续画框、线时快速copy。但是在第一次赋固定值时,越界了,导致内核自动向应用程序 发送信号 SIGBUS(7)给应用程序,导致应用程序异常

新建帐套提示“无法创建数据库!请检查目录…是否存在,以及系统空间是否充足.

1、在K/3安装路径下K3ERP文件夹下,找到DBFILE文件夹;2、右击单击“DBFILE”文件夹,选择“属性”→【安全】→【添加】,选择【高级】→【立即查找】→找到everyone用户;3、把该用户添加到【用户和组】中,并赋予“完全控制权限”。

基于CDMA的多用户水下无线光通信(2)——系统模型和基于子空间的延时估计

本文首先介绍了基于CDMA的多用户UOWC系统模型,并给出了多用户收发信号的数学模型。然后介绍基于子空间的延时估计算法,该算法只需要已知所有用户的扩频码,然后根据扩频波形的循环移位在观测空间的信号子空间上的投影进行延时估计。 1、基于CDMA的多用户UOWC系统模型   首先介绍基于CDMA的多用户UOWC系统模型,系统框图如下图所示。   该系统包括发送端、UOWC信道和接收端。该系统

DataStructure.时间和空间复杂度

时间和空间复杂度 【本节目标】1. 如何衡量一个算法的好坏2. 算法效率3. 时间复杂度3.1 时间复杂度的概念3.2 大O的渐进表示法3.3 推导大O阶方法3.4 常见时间复杂度计算举例3.4.1 示例13.4.2 示例23.4.3 示例33.4.4 示例43.4.5 示例53.4.6 示例63.4.7 示例7 4.空间复杂度4.1 示例14.2 示例24.3 示例3 【本节

「生信基础课」如何利用好手头的电脑,节省上千的服务器租用费

对于一个专业的生信分析人员,一台高性能的服务器是必不可少的,因此会在上面投入能力承受范围的资金。 关于为何要用Linux系统,我录制了一个2分钟的视频,https://www.bilibili.com/video/av58133450 但是对于一个仅仅想了解生信是什么, 想跑跑简单的流程的初学者而言,动辄月租上千的服务器并不是好的选择。 某厂商报价 最好的策略是先