none
幾個問題 RRS feed

  • 問題

  •  

    小弟有幾個問題如下:

    1.如何將WindwosForm中的文字(例如:只用者輸入在TextBox上的)轉換成UTF-8字串

    2.

    是否請各位高手說說Yahoo!Message或MSN這類軟體,當A使用者傳送訊息給B使用者時該軟體的運作方式。

    小弟目前的方法是A和B兩位使用者的使用者端運作一個Timer以每秒(或更快)的方式重複讀取SQLServer上的資料,但是這樣似乎會大幅增加伺服器的負擔並且使用者端的電腦系統資源也吃的相當大。

     

     

    2008年2月15日 下午 04:29

解答

  • 如果要把字串轉換成 Unicode,可以利用 System.Text.Encoding.UTF8 類別來做。

    (UTP-8 沒看過)

     

    Code Snippet
    private string ReadAuthor(Stream binary_file) {
      System.Text.Encoding encoding = System.Text.Encoding.UTF8;
      // Read string from binary file with UTF8 encoding
      byte[] buffer = new byte[30];
      binary_file.Read(buffer, 0, 30);
      return encoding.GetString(buffer);
    }

     

     

    即時傳訊軟體的 Instant Messaging 能力,應該是用 P2P (Peer-to-Peer) 的方法,而使用者清單的管理和一些需要集中管理的目錄或資源服務,則是用集中伺服器的方式來做。試想,如果連交換都要連到 Server,那會耗掉多少伺服器資源(如果是 Web-Chat,就不得不然)?

     

    MSN Protocol Overview:

    http://www.hypothetic.org/docs/msn/general/overview.php

     

     

    2008年2月16日 上午 02:10
    版主

所有回覆

  • 如果要把字串轉換成 Unicode,可以利用 System.Text.Encoding.UTF8 類別來做。

    (UTP-8 沒看過)

     

    Code Snippet
    private string ReadAuthor(Stream binary_file) {
      System.Text.Encoding encoding = System.Text.Encoding.UTF8;
      // Read string from binary file with UTF8 encoding
      byte[] buffer = new byte[30];
      binary_file.Read(buffer, 0, 30);
      return encoding.GetString(buffer);
    }

     

     

    即時傳訊軟體的 Instant Messaging 能力,應該是用 P2P (Peer-to-Peer) 的方法,而使用者清單的管理和一些需要集中管理的目錄或資源服務,則是用集中伺服器的方式來做。試想,如果連交換都要連到 Server,那會耗掉多少伺服器資源(如果是 Web-Chat,就不得不然)?

     

    MSN Protocol Overview:

    http://www.hypothetic.org/docs/msn/general/overview.php

     

     

    2008年2月16日 上午 02:10
    版主
  • 我是希望將 字串"測試"轉換成類似"%E6%B8%AC%E8%A9%A6"的樣子@@

    還有可否請小朱大多說一點P2P的方法或附上簡單的範例

    最後一個問題@@

    前幾天看到有位大大說可以利用WebClient類別將網頁程式碼下載到字串但是我找不到該如何呼叫耶...麻煩^^

     

    2008年2月16日 下午 04:11
  • 你說的應該是網頁上用的UrlEncode

    在專案上把System.Web加入參考, 然後試試下面的方式:

    string strUrlEnc = System.Web.HttpUtility.UrlEncode("測試");

    output:%e6%b8%ac%e8%a9%a6

    2008年4月9日 上午 07:55