Posts

Showing posts from April, 2021

URI schemes

 我看過的網址列開頭有這幾種: http: 和 https: 是通訊協定 file: 可以在瀏覽器中打開電腦裡的檔案  javascript: 可以在瀏覽器上執行 javascript 然後我剛剛看到,上傳圖片後讓使用者預覽圖片的功能,預覽圖片的連結,開頭是: blob: ⋯⋯我不太確定他是什麼,好像跟「把檔案轉成二進制資料」有關係,但是我還是沒弄懂「把檔案轉成二進制資料」是什麼意思,畢竟,電腦是二進位,存在電腦裡的檔案也是二進位,為什麼還需要把已經是二進位的檔案轉成二進制資料⋯⋯我目前的知識不足以讓我理解這是什麼情況。 ⋯⋯然後我一直沒有察覺的困惑,因為這根 blob: 的稻草而爆發了: 這些看起來功能很不一樣的東西,為什麼格式都固定會加冒號啊,這整件事是怎麼一回事啊?有什麼規律存在,把這些不一樣的東西整理在一起了嗎? 目前蒐集到一個關鍵字:URI schemes。新的情報暫時安撫了我的爆發,真是可喜可賀! 參考資料: 中文維基百科: 統一資源標誌符方案 英文維基百科: List of URI schemes

保留的域名:example.com

製作網站的使用者種子資料時,對於電子信箱的欄位,我有時會擔心,如果我亂捏造的電子信箱,真的是實際存在的電子信箱,那樣感覺有點奇怪⋯⋯ 後來碰巧發現,原來 example.com 是保留的域名,沒有人能夠用這個域名建立任何服務。所以 test@example.com 這個信箱,不可能是實際存在的電子信箱。 不知道是誰做出了「保留域名作為演示用途」的決定,但是這個決定好貼心啊!有一種「被前輩們(雖然不知道是誰)照顧得很好」的感覺。 參考資料: example.com - 維基百科

檢查字串位元數

資料庫有儲存容量限制,這時候需要檢查字串的位元數是不是超出上限。不同編碼方式,中文字的位元數也不同。UTF-8 的話是 3 byte。 javascript 的 string.length 方法回傳的並不是字串的位元數,所以要另外想辦法。 計算字串位元數的其中一個方式是(假設字串只有中文和英文,編碼方式是 UTF-8),把每個中文都用三個英文字母取代(英文字母只佔一個位元)。 function byteLength (string) {   return string.replace(/[^\x00-\xff]/g, 'xxx').length } [^\x00-\xff] 是一個正則表達式,會選出 ASCII 編碼不在 0-255 的文字 參考資料: JavaScript計算含中英文字的字串長度 请问各位大侠,/[^\x00-\xff]/g, 这样表达的意思是什么呢??有什么作用呢? 字符編碼、單字節字符編碼、雙字節字符編碼、多字節字符編碼