Articles of ascii

将重音文本转换为ASCII字符?

我想将带重音的字母和各种编码转换成Javascript中简单的英文ASCII文本,并想知道可能的选项。 我需要的是: éclair ~becomes~ eclair bär ~becomes~ bar привет ~becomes~ privet こんにちは ~becomes~ konnichiva 正如你所看到的想法是,任何语言都被转换成简单的英文ASCII等价物。 ççéétèd字母被转换成普通等价物,西里尔字母或日文编码的字母被转换成音译等价物。 任何人都知道在Javascript中做到这一点的方法?

节点JSencryption,不能创build带有重音的字符的hmac

当我试图encryption的文本有重音字符(如ä,ï,ë)时,我在NodeJS中使用crypto.js生成正确的签名时遇到问题。 generateSignature = function (str, secKey) { var hmac = crypto.createHmac('sha1', secKey); var sig = hmac.update(str).digest('hex'); return sig; }; 如果'str'不包含重音字符(字符如ä,ï,ë),此函数将返回正确的HMAC签名。 如果文本中有重音字符,则不会返回正确的HMAC。 重音字符在UTF8编码是有效的,所以我不知道为什么encryption与他们有问题。 可能是这样,我需要以某种方式告诉encryption,我正在签署utf8编码的文本,但我不知道如何做到这一点。 在这篇文章中描述了完全相同的问题: NodeJS hmac摘要问题与口音然而,post本身以及答案对我来说是没有意义的(因为他们正在传递他们想要encryption的数据,走)。 以下是str和secKey的硬编码值的一个版本: var crypto = require('crypto'); str="äïë"; secKey="secret"; var hmac = crypto.createHmac('sha1', secKey); var sig = hmac.update(new Buffer(str, 'utf8')).digest('hex'); console.log("Sig: " + sig); console.log("Expected: 094b2ba039775bbf970a58e4a0a61b248953d30b"); // "Expected" was generated using […]

用Node.js检查文件是二进制文件还是ASCII文件?

我想知道什么是最好的方法来检查一个文件是二进制还是ASCII与Node.js? 似乎有两种不是特定于node.js的方式: 检查MIMEtypes: 如何在PHP中检查文件是ASCII还是二进制文件 – 但是这样做有问题,因为例如预处理器通常没有识别的MIMEtypes,并且在检查时使用application/octet-stream 哑剧 通过使用stream缓冲区检查字节大小,以及如何将文件内容标识为ASCII或二进制文件 – 这似乎相当密集,并且还提供了一个node.js示例。 那么还有另一种方法吗? 也许是一个秘密的node.js调用或模块,我不知道? 或者如果我自己要这样做,会有什么build议? 谢谢