字元編碼是否是軟體工程中最噁心的問題?

求推薦一些比這個更噁心的讓我心裡平衡一下。 我感覺這個問題噁心是因為複雜的處理方法全都在解決一個歷史遺留問題。我說的不僅包含各種中文編碼,還包含轉義字元。一想到處理各種url參數和不同編碼方式的網頁我就想吐。還有噁心的引號嵌套。如果一開始就全部使用UTF我感覺這個世界一定會美好很多。我甚至有點羨慕某動畫片里的二維碼文字。 或者有沒有什麼辦法改變我對編碼的看法,讓我發現它的美。


推廣更噁心


是一個坑,但它是有解決方案的。

這個坑其實已經很友好了…


我覺得編程里真正噁心的事就是那種本應該巨簡單結果反倒巨麻煩的事情,不怕難,就怕沒意義的難,

比如說"我要寫個遊戲引擎",想想就覺得不可能容易,掉坑的時候就已有了心理準備,噁心就噁心在明明可以很簡單的一件事搞的那麼複雜,比如字元編碼就算一個.....


IE6


從以前的編碼混亂,到太固定的 UTF32/16,到靈活的 UTF8 一統天下。

你真沒感覺到解決方案的進化之美?


最大的問題在於很多人即使在字元編碼的問題上摔了跟頭,但是依然從未深究過字元編碼,繼續摔。

這個東西比其他很多東西簡單得多,更噁心的海了去了。


你還沒有噁心到家,去搞個分詞什麼的玩玩。


擴大點說,語言的不統一是人類進步過程中最噁心的問題。


編程還好啦,面對的只是電腦,而且電腦的邏輯都是一樣的。

需求才噁心呢。需求確定面對的是人。人中間有傻逼,有勾心鬥角的利益衝突,有自以為是的權利展示。

比如說,要求你做的網站必須兼容所有的瀏覽器,以前的以及未來的。(這真是某個處級領導給我的要求啊),比如說小領導說要綠色節目,還指定了綠色的值。等做出來,大領導開口就罵,你們怎麼弄了個那麼難看的綠色來。最常見的是,界面要高端大氣上檔次,功能要先進超前有特色。特別是當對方是幾個勢力在爭鬥的時候,你通常就是犧牲品和代罪羊。

不說了,反正滿滿都是淚。


簡單來說,最噁心的肯定是操作系統。如果你從頭開始寫一個的話,所有的基礎設施都是零。你都得重新寫。包括各種各樣的數據結構呀,字元編碼的處理呀。我隨便說幾個點你們感受一下。

(前方多圖預警)

中斷和滑鼠移動

你能看懂嗎?反正我看不懂。

你肯定要問了,為什麼我的mouse_decode()要用一連串的if寫,至少也要上switch呀。=v=其實我試過了,如果用switch,滑鼠根本就沒有反應……

當然這不算什麼,最髒的當屬圖形界面

圖形

初始化滑鼠的指針。看看那個數組的初始化,感受一下。

初始化調色板

在指定的位置顯示字元

字型檔文件(注意右邊的滾動條)

都是血和淚啊!!!

你肯定要問了,明明沒有出現比編碼骯髒的地方,你這個答主怎麼這麼忽悠人呢?

-&>這是個操作系統。寫完這些骯髒的東西還要處理字元編碼。

艹艹艹艹艹艹艹艹艹艹

O(re)S(xiang)就是這麼重口。

幸好我已棄坑,投入了&玩具&編譯器的懷抱。


這是入門階段要解決的基本問題…後面更噁心的是維護代碼,維護別人的代碼,維護別人維護過的代碼,沒有文檔的代碼…有錯誤的資料庫…但是修修補補還就是能跑…哦還有維護自己趕進度時留下的坑…


最噁心的真不是編碼這塊,而是需求變更!需求變更!需求變更!

因為你要加班!加班!加班!


確實,曾被字元編碼折磨得死去活來(尤其是Python2中的編碼問題,你懂的),於是痛下決心,發現還是可以搞懂的,最近在知乎上寫了一個《刨根究底字元編碼》的專題文章:https://zhuanlan.zhihu.com/paogenjiudi ,供參考。


此問題一直沒有很好的解決歸根結底是發明這些編碼的都是英語為母語的人,他們基本用不到大部分編碼,更不會去考慮它了,很多國外軟體的編碼問題就是證據。


很煩 我現在能用英文就英文 不然 你聽說過測試說讓你對日誌進行轉碼然後輸出嗎


必須是豬隊友加傻逼領導,可恥的匿了


系統學習下各種編碼的規則,以後就不會覺得煩了,技術問題都是小問題,反而人的因素占的比例更大。


你說的明明就只是編程吧…軟體工程中噁心的事情太多了,比如說需求總也理不清,前人系統設計沒考慮可擴展性導致糾結在重新開發還是破罐子破摔—_—


你要知道國內用了多少種的ATM你就知道更加噁心的


做程序員要有種覺悟,沒有坑需要你來幹嘛?解決了坑是你本事!

程序員的進步,都是一個個坑裡爬出來的!


推薦閱讀:

程序在處理文本的時候如何區分 [ANSI] 和 [無BOM的UTF8] 這兩種編碼?
十進位轉二進位為什麼不是除以2?
請大神幫忙看看這個編碼是什麼意思?十分感謝
計算機對比DNA、指紋、人臉等非編碼類數據原理?

TAG:編程 | Unicode統一碼 | 軟體工程 | 編碼 |