【发布时间】:2016-02-24 13:25:33
【问题描述】:
在 Javascript 中,window.atob() 方法解码 base64 字符串,window.btoa() 方法将 string 编码为 base64。
那为什么不把它们命名为base64Decode() 和base64Encode()?
atob() 和 btoa() 没有意义,因为它们根本没有语义。
我想知道原因。
【问题讨论】:
-
@Ryan 我知道它是“a to b”和“b to a”,但我仍然将它们发音为“a-tob”和“b-toa”。
-
bad
name,通常他们使用清晰的长名称,如getElementById,addEventListener -
我也确信 atob 和 btoa 是反向命名的,A 是原始字符串,B 是编码字符串,这是一个不幸的巧合,Base64 与编码字符串 B 共享首字母。令人困惑的是,我是在过去十年才开始使用 Linux 的,Linux 提供了 base64 程序,所以我从来不必知道 btoa 也这样做。我几乎不会质疑命名选择,但多年后我只需要知道。
-
你可以去功能 abes46neoced(a){return swab(swab(atob(a))));但您需要编写自己的 swab 函数。
-
这是因为
atob中的 'b' 代表二进制,而不是 base64。 ASCII 是 base64 编码的,字符串是二进制的。
标签: javascript