Unicode和字元集的基礎知識

一個字串不指定它使用什麼編碼是沒有意義的。再也不要假定,“純”文本(plain text)是ASCII.沒有“純文字”這個東西。如果你有一個字串,在記憶體中,在檔案中,或者在 Email 訊息裡,你必須知道它的編碼是什麼。否則你無法正確的解釋或者顯示給使用者。所有的諸如 “我的網頁不能正常顯示了”,或者 ”Email 訊息不能正常顯示了“ 之類的愚蠢問題, 都是因為, 沒有告訴你到底是使用的那種編碼,UTF-8 還是 ASCII 還是 ISO 8859-1 或者 Windows 1252 ??

用Mock Object進行獨立單元測試

用Mock Object進行獨立單元測試(Testing in isolation with mock objects)獨立測試就是單獨測試一個類或方法裡的代碼,而不測試裡面調用的其他類或方法的代碼。即假定調用的其他類或方法都正常執行。 使用Mock Object的場合實際對象的行為還不確定。 實際的對象建立和初始化非常複雜。 實際對象中存在很難執行到的行為(如網路異常等)。 實際的對象運行起來非常的慢。 實際對象是使用者介面程式。 實際對象還沒有編寫,只有介面等。

About “Serious Error: No RTTI Data”

After I release the document from memeory, I forget to set NULL to the document pointer. Then later when trying to do dynamic_cast, above dialog pops up.But It's not proved true by below code:{CTestSub* pSub = new CTestSub(); delete pSub; /*pSub =

My priliminary understanding of the relationship between virtual address and physical memory address

1. The address assigned by Compiler is virtual address. Why? because compiler definitely has no way to decide the physical memory address ahead of running the program.2. My understanding of the process of visiting phycial memory of an application is:

First touch with JIT debugging

We can attach the debugger onto any running process at any time. Two cases:1. Unhandled exception is thrown in some thread of a process. A dialog will pop up to ask user to terminate the process or debug it. If clicking OK, the process will be

Release mode debugging with VC++

The debug configuration of VC++ projects is the configuration that most debugging and development is done on. This is entirely appropriate because the debug information, lack of optimizations, and the extra debug checks in the Microsoft libraries,

視頻格式詳解

流行視頻格式講解 *. MPEG/.MPG/.DAT MPEG也是Motion Picture Experts Group 的縮寫。這類格式包括了 MPEG-1, MPEG-2 和 MPEG-4在內的多種視頻格式。MPEG-1相信是大家接觸得最多的了,因為目前其正在被廣泛地應用在 VCD 的製作和一些視頻片段下載的網路應用上面,大部分的 VCD 都是用 MPEG1 格式壓縮的 ( 燒錄軟體自動將MPEG1轉為 .DAT格式 ) ,使用 MPEG-1 的壓縮演算法,可以把一部 120

你真的會使用斷點嗎?

下面有從淺入深的6個問題,您可以嘗試回答一下一個如下的語句for (int i = 0; i < 10; i++){if (i == 5)j = 5;},什麼都寫在一行,你怎麼在j=5前面插入斷點 在一個1000次的迴圈體內部設定斷點,你希望當迴圈進行到900次後中斷,怎麼才能做到呢? 你有一個運算式在上面迴圈的某一次發生了變化,你想知道是哪一次,在哪個地方,怎麼才能做到? 你希望你的斷點在被命中100次後,每命中三次中斷一次,比如第103,第106,第109怎樣做?

Code Page與Character Set對照表

Codepage的定義和曆史字元內碼(charcter code)指的是用來代表字元的內碼.讀者在輸入和儲存文檔時都要使用內碼,內碼分為 單位元組內碼 -- Single-Byte character sets (SBCS),可以支援256個字元編碼. 雙位元組內碼 -- Double-Byte character sets)(DBCS),可以支援65000個字元編碼.主要用來對大字元集的東方文字進行編碼. codepage

一個程式包含幾個段

站在組合語言的角度,一個程式分為:資料區段 -- DS堆棧段 -- SS程式碼片段 -- CS擴充段 -- ES站在進階語言的角度,根據APUE,一個程式分為如下段:textdata (initialized)bssstackheap程式碼片段 --

failover機制的小討論

  對於一個7*24小時無間斷的線上服務來說,在服役時間內難免會遇到一些fail,例如db中斷連線且短暫串連不上了, 下遊的某個節點忽然掛了,營運部署上依賴的某一個東西不存在了等等情境。本文主要來討論一下這些情境使用怎樣的策略會比較好。  最簡單的方法,While(true) + sleep(固定時間) 

About “Delete this” sentence

In order to understand "delete this" : First Step------dive into "delete p"delete p 執行了哪兩個步驟?delete p 是一個兩步的過程:調用解構函式,然後釋放記憶體。delete p產生的代碼看上去是這樣的(假設是Fred*類型的):// 原始碼:delete p;if (p != NULL) {   p->~Fred();   operator delete(p);} p->~Fred()

COM 組件設計與應用(七)– 編譯、註冊、調用

COM 組件設計與應用(七) 編譯、註冊、調用 作者:楊老師一、前言   上兩回中,咱們用 ATL 寫了第一個 COM 組件程式,這回中,主要介紹編譯、註冊和調用方法。樣本程式你已經下載了嗎?如果還沒有下載,vc6.0 的使用者點這裡,vc.net 的使用者點這裡。二、關於編譯   2-1 最小依賴   “最小依賴”,表示編譯器會把 ATL

Code Alignment Adjustment Issue

Description: The code you submitted on P4 seems in disorder even if you arrange it well on your own PC.For instance:1. Snapshot of the code on your screen2. But after you submitted itThe reason is that your code was NOT using the monospaced

Use AQTime to find the bottleneck of program module

Here, I just note about how to use AQTime to find the bottleneck of a dll module.    Steps:    1. Create a new project. Set "Host Application", which is the execution module to load your dll.     Note: Release version application should be used.    2

Two practical ways of error/exception handling

Better error/exception handling. 2 ways: a) return status upwards the function calling chain and have the top calling function process the status;b) not necessarily return the status but throw exception when something’s wrong, catch and process the

Some New Tips

1.關於“多態”:  (1)應用程式不必為每一個衍生類別編寫功能調用,只需要對抽象基類進行處理即可。這一招叫“以不變應萬變”,可以大大提高程式的可複用性(這是介面設計的複用,而不是代碼實現的複用)。  (2)衍生類別的功能可以被基類指標引用,這叫向後相容,可以提高程式的可擴充性和可維護性。以前寫的程式可以被將來寫的程式調用不足為奇,但是將來寫的程式可以被以前寫的程式調用那可了不起。2.以下是使用斷言的幾個原則:  (1)使用斷言捕捉不應該發生的非法情況。不要混淆非法情況與錯誤情況之間的區別,後者

什麼是WinDBG?

什麼是WinDBG?WinDbg是微軟開發的免費源碼級調試工具。Windbg可以用於Kernel模式調試和使用者模式調試,還可以調試Dump檔案。由於大部分程式員不需要做Kernel模式調試, 我在這篇文章中不會介紹Kernel模式調試。Kernel模式調試對學習Windows核心極有協助。如果你對此感興趣,可以閱讀Inside Windows

SATA硬碟下安裝WinXP的問題解決了

現象:安裝winxp失敗,stop提示資訊的意思是:無法訪問硬碟引導區。原因:因為WindowsXP本身不直接支援串列ATA控制器,因此必須在安裝系統前載入SATA驅動。 方法: 一、有軟碟機 --

小學一下環境變數

1.環境變數的設定有幾種方式?   設定環境變數有兩種方式:第一種是在命令提示字元運行視窗中設定;第二種是通過單擊“我的電腦→屬性→進階”標籤的“環境變數”按鈕設定。需要注意的是,第一種設定環境變數的方式只對當前運行視窗有效,關閉運行視窗後,設定就不起作用了,而第二種設定環境變數的方式則是永久有效。 2.如何在命令提示字元視窗中設定環境變數?   在“開始→運行”框中輸入“cmd”後按“確定”按鈕,出現命令運行視窗。在命令提示字元下輸入“set"

總頁數: 61357 1 .... 10268 10269 10270 10271 10272 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.