2010年12月24日 星期五

Post和Get編碼的差別?

編寫JSP時,最麻煩的就是編碼的問題,而今天我就遇到了"明明所有的Page都設成UTF-8",但顯示出來仍然是亂碼!
研究了好多天,終於知道問題在那了!原來是Post/Get的差別,後來Google了一下,有位大大這麼寫到:

原文:
Get 和Post都是HTTP的标准协议动词,用于编码和传送变量名和变量值,无论Get 和Post都是通过编码后传送数据。
是这个问题解释起来有点难,但有两点是可以肯定的:
一是:get方式传送数据时附加参数被认为是一个查询字符串,变量名/变量值作为URL的一部分被传送,假如读取数据后,不立即跳转到别的页面上,地址栏上会看得到有关的参数和值,并与表单一一对应,如地址栏上会看到xx=??&xx=??。而post方式传送,虽然也是被URL编码的。然而,变量名/变量值不作为URL的一部分被传送,而是放在实际的HTTP请求消息内部被传送。从地址栏上看不到。
二是:get 默认(只是默认)是以使用MIME类型application/x-www-form-urlencoded的urlencoded文本的格式传递参数。Urlencoding是一种字符编码,保证被传送的参数由遵循规范的文本组成。post则可以通过页面指定的编码方式进行编码。目前大体有两类:一是ANSI的ASCII字符集,不同的国家和地区制定了不同的标准,由此产生了GB2312、BIG5, JIS等等,且互不兼容,并且与之后出现的国际性的UNICODE标准编码的UTF-8等也不兼容,因此稍有不慎便出现乱码。


繁體:
Get 和Post都是HTTP的標準協議動詞,用於編碼和傳送變量名和變量值,無論Get 和Post都是通過編碼後傳送數據。
是這個問題解釋起來有點難,但有兩點是可以肯定的:
一是:get方式傳送數據時附加參數被認為是一個查詢字符串,變量名/變量值作為URL的一部分被傳送,假如讀取數據後,不立即跳轉到別的頁面上,地址欄上會看得到有關的參數和值,並與表單一一對應,如地址欄上會看到xx=??&xx=??。 而post方式傳送,雖然也是被URL編碼的。 然而,變量名/變量值不作為URL的一部分被傳送,而是放在實際的HTTP請求消息內部被傳送。 從地址欄上看不到。
二是:get 默認(只是默認)是以使用MIME類型application/x-www-form-urlencoded的urlencoded文本的格式傳遞參數。 Urlencoding是一種字符編碼,保證被傳送的參數由遵循規範的文本組成。 post則可以通過頁面指定的編碼方式進行編碼。 目前大體有兩類:一是ANSI的ASCII字符集,不同的國家和地區製定了不同的標準,由此產生了GB2312、BIG5, JIS等等,且互不兼容,並且與之後出現的國際性的UNICODE標準編碼的UTF-8等也不兼容,因此稍有不慎便出現亂碼。


資料來源:http://wenwen.soso.com/z/q188275796.htm

2010年3月14日 星期日

Free WMA to MP3 Converter

今天為了要把英文課本的CD轉出來,然後放在電子詞典中,所以在Google上找了一下WMA轉MP3的程式,而經過本人使用還不錯,簡單易用,而是FREE的!
jodix


Main Window while Converting.


MP3 Settings.


Edit ID3 Tag.


After Converting.

資料來源:jodix

2010年2月6日 星期六

無名相簿 下載程式

由於之前使用了WretchXD這個挺有名的"無名相簿下載程式",我只能說太強了,所以也想說自己寫一個小的玩一玩,在撰寫的過程中,所遇到的因難可真不少,畢竟自己程度不好,而我是以C#所開發的(.NET 2.0),功能目前也挺簡單的,但都有達到最基本的要求-"下載",若寫的不好,在此還請各位大大多多包含,若有什麼要改進的,可以留言,謝謝!

WretchAlbumDownload v1.1
目前已發現的問題如下:
1.相簿名稱複選時,圖片無法正確顯示->Modified 2010/02/23
2.在相簿還為載入完全時,點選相簿名稱時會當掉->Modified 2010/02/23
3.訊息文字排列有問題
------------------------
WretchAlbumDownload v1.0

參考資料:
CCN's Soft

如何印出當前程式的路徑 For C#

由於近日因撰寫程式的需要,所以上網找了一下方法,發現似乎挺簡單的:

MessageBox.Show(System.Windows.Forms.Application.StartupPath);

就這樣而已!

2010年2月4日 星期四

撰寫C#應用程式時,要如何叫出資料夾選擇視窗


其實方法並不難,只是VS沒有將它放在工具欄而已,所以要手動自己寫:

FolderBrowserDialog FBD=new FolderBrowserDialog();
FBD.ShowDialog();

如此就可以選擇不同的Path進行存檔.