日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET .Net UCS2 加码最复杂的方法

發布時間:2024/4/17 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET .Net UCS2 加码最复杂的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
.Net UCS2 加碼最簡單的方法。最近開發了一個短信 Gateway 使用方案,雖然是不用 PDU 那么麻煩,但畢竟要發中文短信的話得用加碼的呀(BTW,最后都不需求用這個功用)。

  編程文檔詳細的指名要用 UCS2 加碼,Ok,UTF8 和 16 大家都不陌生吧,但什么是 UCS2 呢?在這里粗略的解釋一下,摘的。

  UCS有兩種格式:UCS-2和UCS-4。顧名思義,UCS-2就是用兩個字節編碼,UCS-4就是用4個字節(實際上只用了31位,最高位必須為0)編碼。下面讓我們做一些簡單的數學游戲:

  UCS-2有2^16=65536個碼位,UCS-4有2^31=2147483648個碼位。

????? 轉載//http://www.aiyiweb.com/sitecn/aspnet/13989.html?

  UCS-4依據最高位為0的最高字節分成2^7=128個group。每個group再依據次高字節分為256個plane。每個plane依據第3個字節分為256行 (rows),每行包含256個cells。當然同一行的cells只是最后一個字節不同,其余都相反。

  group 0的plane 0被稱作Basic Multilingual Plane,即BMP。或者說UCS-4中,高兩個字節為0的碼位被稱作BMP。

  將UCS-4的BMP去掉前面的兩個零字節就得到了UCS-2。在UCS-2的兩個字節前加上兩個零字節,就得到了UCS-4的BMP。而目前的UCS-4規范中還沒有任何字符被分配在BMP之外。

  經過了無數次的嘗試,我用以下代碼完成了這個加碼的 function,測試通過,童叟無欺哦!

以下是援用片段:
  Private?Function?StrtoUCS2(ByVal?Content?As?String)?As?String
  Dim?i,?count?As?Integer
  Dim?Result,?t?As?String
  For?i?=?1?To?Content.Length
  t?=?Format(AscW(Mid(Content,?i)),?"X")
  For?count?=?1?To?4?-?t.Length
  t?=?"0"?&?t
  Next
  Result?+=?t
  Next
  Return?Result
  End?Function

轉載于:https://www.cnblogs.com/sasaaaa/archive/2013/05/01/3053826.html

總結

以上是生活随笔為你收集整理的ASP.NET .Net UCS2 加码最复杂的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。