台灣最大程式設計社群網站
線上人數
662
 
會員總數:245619
討論主題:189317
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> 計算字串共幾個Byte
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
計算字串共幾個Byte
價值 : 0 QP  點閱數:416 回應數:0
樓主

站務人員 站長
門外漢
0 1580
542 9
發送站內信

捐贈 VP 給 站務人員
1 回應者: ivan 日期: 2002/4/15 下午 01:16:00

中文字之ascii為負值, 可用來判斷

當asc(str)<0時段 strlencount=strlencount+2

當asc(str)>0時段 strlencount=strlencount+1

wordcount=wordcount+1

if strlencount>=wishshowlength(想show出的長度)

showstr=left(datas,wordcount) & "....."



2 回應者: ivan 日期: 2002/4/15 下午 01:18:09

SORRY! 補充一下

上例當然您需要寫個迴圈取得資料中的每個字元再送入檢查ascii




回應者: LetGo 日期: 2002/4/15 下午 11:47:26

以下是從 MSDN Library 節錄出來的,適用於 VB Script

========================================================

函數 Len()

傳回一Long,為字串內字元的數目,或是傳回儲存一變數所需的位元組數。



語法

Len(string | varname)


Len 函數語法有以下單元:

單元 說明

string 為任何正確的字串運算式。如果 string 所含為 Null,會傳回Null。

Varname 為任何正確的變數名稱。如果 varname 所含為 Null,會傳回 Null。

如果 varname 是Variant,Len 會視其為 String並且傳回其所含之字元數。

請注意

兩引數必須有其一 (而且只能有一)。如為使用者自訂型態,,Len 會傳回其寫至檔案的大小。


附註

當在使用者自訂資料型態中使用不定長度字串時,Len 可能無法得知確切的位元組

數目。

========================================================

函數 LenB()

傳回一Long,為字串的位元數。



語法

LenB(string | varname)



LenB 函數語法有以下單元:

單元 說明

string 為任何正確的字串運算式。如果 string 所含為 Null,會傳回Null。

Varname 為任何正確的變數名稱。如果 varname 所含為 Null,會傳回 Null。

如果 varname 是Variant,Len 會視其為 String並且傳回其所含之字元數。


請注意

兩引數必須有其一 (而且只能有一)。如為使用者自訂型態,,Len 會傳回其寫至檔案的大小。

附註

LenB 函數是使用在位元組資料字串上,如同在雙位元組字元集 (DBCS) 語言中一樣

。所以 LenB 傳回的是位元組位置,而非字元位置。如為使用者自訂型態,LenB 會

傳回在記憶體中之大小,包括元件之間的間隙。例如,對於使用 LenB的範例代碼,

請參閱中的第二個。

========================================================

範例

Dim MyString, MyLen

MyString = "ABc"

MyLen = Len(MyString) ' 傳回 3,字串中有 3 個字元。

MyLen = LenB(MyString) ' 傳回 6,以 Unicode 編碼計算字串有 6 個位元。

MyLen = LenMbcs(MyString) ' 傳回 5,以 ANSI 編碼計算字串有 5個位元。



Function LenMbcs (ByVal str as String)

LenMbcs = LenB(StrConv(str, vbFromUnicode))

End Function




本篇文章發表於2002-06-11 00:00
目前尚無任何回覆
   

回覆
如要回應,請先登入.