平常用的少,但是要彻底弄懂的知识

2024-06-06 21:32
文章标签 知识 弄懂 彻底 平常

本文主要是介绍平常用的少,但是要彻底弄懂的知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有些东西在写代码的时候,或许听说过,有过了解,但是当要深究的时候,感觉自己又不能说得很清楚,趁这段时间,比较空闲,就在这里用自我理解的方式,做一些小小的总结,也算是巩固学习吧。

字符编码

这个问题是一个老问题了,总是告诉自己要统一用utf-8编码,但是自己也不知道为什么,还有各种别的ansi gbk unicode 等等,这个东西也不是几句话就能说清楚的,反正我目前认为是有点懂了,为什么之前老同事告诫不要用记事本来做任何和代码打交道的编辑,因为记事本默认使用的编码格式是ansi,而如果用记事本的另存为功能保存为utf-8的文件其实也是有bom的。这就导致该方式保存的文件,默认会添加三个字符,会引起很多的问题。所以我们要用专业的编辑器来编写代码和配置文件,统一用utf-8格式,当然,大部分的编辑器的默认文件编码格式都是utf-8,这里说的是无bom的,也就是,你保存的是什么,就是什么。对于字符编码,总结一句话就是,用专业的编辑器,保存为utf-8格式。就没错了。我记得关于字符编码的讲解,之前在知乎上看到一位前辈阐述的非常好,但是我现在却找不到那篇文章了,以后找到干货,就一定要自己保存!!!!

二进制文件

之前总是纠结这个问题,比如看到一个文件,文件里面保存的是二进制,我就认为这个是一个二进制文件,不然就认为是一个文本文件。其实感觉也没错,一般情况下,我们都是保存的文本文件,用来阅读方便,但是有个时候,会有保存文件流的二进制的需求,比如游戏的一些资源,配置等。一直不知道怎么做到,后来发现就是在代码里面保存字符串流的二进制格式就行了嘛,那个时候也真的是笨得可以。当然如此保存的文件,打开读取的时候,就要以二进制形式打开咯。注意任何文件在计算机看来都是二进制的,其实文本文件只是给我们看得懂而已。


大小端

大小端问题讲的是,数据在内存中的存储顺序,数据的高字节存储在内存地址的高地址,就是小端存储,反之,就是大端方式,怎么理解呢,假如有这样的数据 short a = 0x1234;  显然a占据2个字节。假如该数据存储在内存地址为ox0001和ox0002两个地址单元,12是数据的高字节如果存在地址0001,就是大端存储。如果存在地址0002,就是小端存储,怎么说呢,反正我自认为大端存储,更符合自然规律。还记得当时学套接字的时候,就必须有一对函数叫做转换为网路字节序,和转换为主机字节序,那个就是为了处理这个问题的,不然各个计算机处理器都按照自己的规矩解析,就会乱码了。也不知道,那个时候发明计算机的人,为什么不统一好,免得这么多的麻烦。

这篇关于平常用的少,但是要彻底弄懂的知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物