Asc對於檔案編碼的影響 擷取字串長度

2022-05-03 02:36:09 字數 1272 閱讀 2439

code

function

get_lengthstr(str,length)

dimresultstr

resultstr=""

t=0if

len(str)

<=

length 

then

resultstr

=str

else

strlen

=len

(str)

getlen

=cint

(length)*2

forslen =1

tostrlen

chra 

=mid

(str, slen, 1)

ifasc

(chra) 

>=

0and

asc(chra) 

<=

255thent=

t+1elset=

t+2end

ifif

t>=

cint

(getlen) 

then

resultstr

=left

(str,slen)&"

"exit

forelse

resultstr

=str

endif

'response.write(t & "

")next

endif

get_lengthstr

=resultstr

end function

上面這個函式是我經常用來擷取字串長度用的,其中還區分了中英文。今天當我再次使用的時候發現擷取的長度不對了,中文和英文沒有區別了(原來設計的是2個英文相當於乙個中文,為了保持長度大致相等)。

經過測試發現,其中asc對於中文得到的結果都是1,但原來我確實應用過,也是沒錯的。

查證了一些vb指令碼的幫助才發現,原來是由於檔案編碼的問題引起的。asc在ansi編碼下面是對的,但在unicode編碼下面就錯了,我今天應用的正好是utf-8的編碼,所以就不對了。只要把asc改成ascw就可以了。

下面是幫助文件的說明:

ascb函式和包含位元組資料的字串一起使用。ascb不是返回第乙個字元的字元**,而是返回首位元組。ascw是為使用 unicode 字元的 32 位平台提供的。它返回 unicode (寬型)字元**,因此可以避免從 ansi 到 unicode 的**轉換。

檔案時間對於CP命令的影響

今天在打包安裝包的時候,碰到這樣乙個問題 打包的伺服器時間由於測試需要被改到這個月的月底了,打包的時候我也沒有在意這個細節,直接在伺服器上重新編譯這個 並且將需要更新的so檔案打入tar包裡面,tar包的時間,包裡面檔案的時間都變成這個月月底的日期了。然後在測試伺服器上進行部署更新的時候,提示說有檔...

對於檔案編碼格式的淺顯理解

字型亂碼這個問題相信很多人都遇到過,但是都是間歇性的,不是經常性的,大多時候都沒有太在意。在遇到過這麼多次亂碼之後,特別是在linux下開啟windows的檔案亂碼,我覺得有必要了解一下編碼方式了。首先,計算機內部只能儲存二進位制資料,即1和0的bit位。所以,我們要讓計算機顯示各種字元,就必須要對...

SELinux對於根檔案系統打包的影響

場景說明 針對大規模的伺服器系統安裝,肯定是通過定製系統盤,完成伺服器的安裝,一般的基本手法是通過將乙個定製好的系統打包,然後通過乙個啟動盤進行安裝。redhat根檔案系統打包安裝之後,使用預設的使用者名稱無法登陸。已有的系統定製於sles系統,並沒有出現類似的問題 前言selinux提供了一種靈活...