[面试难题] 中文站点用 GBK 编码代替 UTF-8 编码,可以节约多少储存/带宽成本?

2018-06-09 11:53:55 +08:00
 nikoo
一个中文站点,平均 HTML 页面源代码(包含 JS/CSS )的中文与英文比例为 9:1
站点没有图片,所有流量皆为 HTML 页面流量

目前使用的是 UTF-8 编码
内容储存成本 1,000/月
流量带宽成本 10,000/月

那么请问如果将该站改为 GBK 编码,如何计算修改后其储 /带宽成本?

求教各位,这个问题题库里从没见过,网上也搜不到答案,直接蒙圈了
5113 次点击
所在节点    问与答
44 条回复
haimall
2018-06-09 11:59:11 +08:00
转了一大圈 是不是就是 gbk 与 utf-8 的编码区别?
input2output
2018-06-09 12:00:53 +08:00
中文一千字
eslizn
2018-06-09 12:01:30 +08:00
死扣存储,讲道理 utf8 是变长,怎么算都算不准的,出这题人 sb
sagaxu
2018-06-09 12:01:40 +08:00
省下来的钱,还不够 cover 增加的开发成本
lukefan
2018-06-09 12:01:58 +08:00
gzip 后忽略不计
daigouspy
2018-06-09 12:04:03 +08:00
@eslizn 网络传输还会 gzip 压缩,差别很小。
nikoo
2018-06-09 12:06:15 +08:00
@input2output @haimall 用公式如何计算这个差别?

@eslizn "utf8 是变长"?所以无法计算其差别吗?愿闻其详!

@sagaxu 这只是一个面试题。。。

@lukefan 未 gzip 呢?
yidinghe
2018-06-09 12:08:37 +08:00
楼主改为 GBK 编码之后,节省了存储空间,得到了表扬,很爽。终于到了某天发现存储内容包含了日文和韩文,于是想了个办法:将内容改为 URL 编码,自此噩梦开始了。
smdbh
2018-06-09 12:09:59 +08:00
中英文比例 9:1,我是不信的
momocraft
2018-06-09 12:10:01 +08:00
估算: 1 汉字在 GBK2 字节 在 UTF8 3 多一点字节

但有这个也算不出成本...你甚至不知道收费是怎么算的 lol
nikoo
2018-06-09 12:14:11 +08:00
@yidinghe @smdbh

其实还可以喷世界上不会存在这种网站

或者用 gbk 编码代替 utf-8 是多么可笑幼稚愚蠢的行为

或者扣这几个字节却让网站失去了通用性是多么鸡贼的行为

这只是一个面试题

所以说遇到这个问题你的回答就是:没法回答,然后心里想:sb 公司出 sb 题目赶紧走人?
congeec
2018-06-09 12:18:25 +08:00
Http header
TCP header
Up header 也都算流量哦
eslizn
2018-06-09 12:19:12 +08:00
@nikoo utf8 变长存储的,虽然 [一般] 汉字占用 3 个字节,但是不排除有超过的,所以无法预期输入内容的情况下,做不到精准计算
nikoo
2018-06-09 12:19:32 +08:00
@momocraft 谢谢,有一点收获和思路了

我知道这个情况不太符合现实,并且现实世界中流量成本计算方式也不是像题目里说的那么简单

但这就像学数学计算一个水缸的水多久会流光,
我不能在试卷上填写:“世界上没有这种水缸”
或者:“这不就是计算水流动速度吗?”用一个问题回答另一个问题
nikoo
2018-06-09 12:20:47 +08:00
@eslizn 谢谢,那不考虑变长,最粗略、平均、预估的计算方法有没有可能?
zhujinliang
2018-06-09 12:21:13 +08:00
面试官问完了这个题,本想借此题发挥一下:你看,其实节省不了什么,所以不要做过度优化
哪料程序员一拍桌子,sb 公司,老子不面了
shyangs
2018-06-09 12:23:14 +08:00
数学计算不会去维护水缸,你会去维护网站,维护 GBK 网站准备被坑吧
eslizn
2018-06-09 12:24:23 +08:00
@nikoo 本身差距就不大,“最(这个最理解不了)粗略、平均、预估”之后有何意义?
nikoo
2018-06-09 12:26:14 +08:00
@shyangs 不能确定他们公司真打算改用 GBK 编码吧?这只是一个题目而已
nikoo
2018-06-09 12:27:29 +08:00
@eslizn 谢谢,所以该题的答案就是写:“因为 UTF-8 是变长编码,所以差距不大” 如此?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/461697

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX