nodejs写文件换行符|jsnodejs如何判断文件是什么编码格式

『壹』 如何使用Node.js处理前端代码文件的编码问题

使用 NodeJS 编写前端工具时,操作得最多的是文本文件,因此也就涉及到了文件编码的处理问题。我们常用的文本编码有 UTF8 和 GBK 两种,并且 UTF8 文件还可能带有 BOM。在读取不同编码的文本文件时,需要将文件内容转换为 JS 使用的 UTF8 编码字符串后才能正常处理。

1、BOM 的移除BOM 用于标记一个文本文件使用 Unicode 编码,其本身是一个 Unicode 字符("uFEFF"),位于文本文件头部。在不同的 Unicode 编码下,BOM 字符对应的二进制字节如下:

3、单字节编码有时候,我们无法预知需要读取的文件采用哪种编码,因此也就无法指定正确的编码。比如我们要处理的某些 CSS 文件中,有的用 GBK 编码,有的用 UTF8 编码。虽然可以一定程度可以根据文件的字节内容猜测出文本编码,但这里要介绍的是有些局限,但是要简单得多的一种技术。

首先我们知道,如果一个文本文件只包含英文字符,比如 Hello World,那无论用 GBK 编码或是 UTF8 编码读取这个文件都是没问题的。这是因为在这些编码下,ASCII0~128 范围内字符都使用相同的单字节编码。

反过来讲,即使一个文本文件中有中文等字符,如果我们需要处理的字符仅在 ASCII0~128 范围内,比如除了注释和字符串以外的JS代码,我们就可以统一使用单字节编码来读取文件,不用关心文件的实际编码是 GBK 还是 UTF8。

『贰』 node.js 怎么设置缩进距离

2个空格的缩进使用2个空格进行缩进,永远也不要使用混合的tab和空格作为缩进。换行使用Unix风格的换行,每行结尾以(\n)结束,永远不要使用Windows的换行符(\r\n)。无拖尾空白永远也不要在一行后面留空格,在提交之前,你要像每顿饭刷牙一样清理你的JS文件。否则,腐烂的气味会驱走贡献者或同事。使用分号根据科学研究,分号的使用是我们社会的核心价值。考虑一下反对派的观点 ,但是我们需要传统,不要滥用纠错机制(省略分号)。注* 在JavaScript中前置逗号代码风格和省略分号一直存在争论,下同。

『叁』 使用nodejs实现将以写入信息的文档

主要使用Nodejs的fs.writeFile API,可以将文档内容写入指定补录

『肆』 node.js如何快速统计一个txt文件行数

解决方法:

1、通过IE的FSO方法,不过该方法只有IE中可以使用

2、通过Ajax方式读取文本,该方法通用,建议使用该方法

代码示例:

$(document).ready(function(){$("#b01").click(function(){//比如再按钮的单击事件中htmlobj=$.ajax({url:"/jquery/test1.txt",async:false});//通过ajax读取test1.txt文本文件。$("#myDiv").html(htmlobj.responseText.replace(/.+/g,'</br>'));//根据回车换行符进行替换,替换成html换行符});});<divid='myDiv'></div><inputtype='button'id='b01'value='读取文本'/>

『伍』 Node 不同系统的换行符怎么处理

不同的操作系统对回车的处理是不同的:在Unix/linux系统中,换行用\n一个字符表示,而在Windows系统中,则用\r\n两个字符表示

『陆』 node.js repl怎么换行

加载文件读写模块var fs = require("fs");fs.readFile("data.json", function(error, data) {if(error){throw error;}console.log(data.toString());});

『柒』 js,nodejs如何判断文件是什么编码格式

nodejs编码只支持utf8的编码方式,无论是打开某个文件或者写.js脚本都得以utf8的编码方式保存,不然程序无法运行,读出来的文件是乱码。如果是在前台,读取文件是通过FileReader或者FileReaderSync这两个webAPI和input[type='file']标签来配合来完成,但是这个两个API已经包涵了判断文件的编码方式的功能,无论是GBK还是utf8编码的文件都能正确打开不出现乱码,但是nodejs就会出现这样的问题,读取gbk和unicode编码的文件出现奇怪的乱码,有一个模块iconv-lite可以解决编码问题,但是前提是你得知道这个文件的编码方式,举个例子:有一个gkb的文件叫gbk.txt正确查看它的方式如下:var icon=require('iconv-lite');var fs=require('fs')fs.readFile('gbk.txt',function(err,buffer){var str=iconv.decode(buffer,'gbk')console.log(str)//得到无乱码的内容})但是如果不知道文件的编码方式,那有该怎么办呢?那就来聊一聊编码方式,首先UNICODE编码,UNICODE编码的文件无论内容是什么,前两个字节要不是FF FE 或者 FE FF,utf-8头两个字节是EF BB,至于gbk吧,目前我没找到判断方法,只能粗略的判断如果不是unicode和utf8就认为是GBK,代码如下:var fs=require('fs')fs.readFile('code.txt',function(err,buffer){if(buffer[0]==0xff&&buffer[1]==0xfe){console.log('unicode')}else if(buffer[0]==0xfe&&buffer[1]==0xff){console.log('unicode')}else if(buffer[0]==0xef&&buffer[1]==0xbb){console.log('utf8')}else{console.log('else')}})

『捌』 用nodejs怎么能在文件的任意行插入内容

你确定在Read和Write之间不会有冲突?先解决这个问题吧。缓存,ReadableStream读源文件,WritableStream先缓存到内存里,中间你可以插内容没问题。(可以看看dataStream)不同的文件,/tmp之类的,完成业务流程后再unlink(remove) and link(cp)

『玖』 nodejs调用文件时为什么前面加点和斜杠

点和斜杠 表示路径前缀。写完整路径(绝对路径)是一件繁琐的事情,所以大家都喜欢用相对路径表示(也就是点和斜杠作为前缀),例如:./app/main.js—-表示项目文件夹下的app/main.js 文件,而绝对路径可能是:D:/workplace/testProject/app/main.js。“./“ 这里可以代表 “D:/workplace/testProject/“ 从而使得路径简化,其实“./”可以代表任何路劲前缀,也就是不用管路径有多长多深,它都只表示当前项目文件夹下的文件。

『拾』 linux下怎么用nodejs写文件

var fs = require('fs');var txt = "以上程序使用fs.readFileSync从源路径读取文件内容,并使用fs.writeFileSync将文件内容写入专目标路属径。";//写入文件fs.writeFile('message.txt', txt, function (err) { if (err) throw err; console.log('It\'s saved!'); //文件被保存});//读取文件fs.readFile('message.txt', 'utf8', function (err, data) { if (err) throw err; console.log(data);});


赞 (0)