獲取含中文的真實位元組長度

2021-04-09 01:32:38 字數 1751 閱讀 4820

if

exists

(select

*from

dbo.sysobjects 

where

id =

object_id(n'

[dbo].[lenn]') 

andxtype 

in(n'fn

', n'if

', n'tf

'))

drop

function

[dbo].

[lenn]go

setquoted_identifier 

ongo

setansi_nulls 

ongo

--select dbo.lenn('adf')

--drop function lenn

create

function

lenn(

@str

varchar

(4000

)) returns

intas

begin

--declare @str varchar(4000)

declare

@stmp

varchar

(8000

),@i

int,

@itmp

int,

@itmp2

int,

@stmp2

varchar(2

),@len

int--

select @str='中國ren'

select

@stmp=''

,@len=0

select@i=

1while

@i<=

len(

@str

)begin

select

@len

=@len+1

select

@itmp

=convert

(int

,substring

(convert

(varbinary

,substring

(@str,@i

,1

)),1,1

)) --

擷取乙個位元組

if@itmp

>

127begin

--大於127檢查後面乙個位元組

select

@itmp2

=convert

(int

,substring

(convert

(varbinary

,substring

(@str,@i

,1

)),2,1

))if

@itmp2

>

127begin

select

@len

=@len+1

select

@stmp2

=char

(@itmp)+

char

(@itmp2

)   

--是乙個完整的漢字 

endend

select@i=

@i+

1end

return

@len

endgo

setquoted_identifier 

offgo

setansi_nulls 

ongo

獲取真實ip的方法

request方法客戶端ip request.getremoteaddr 輸出 192.168.0.106 客戶端主機名 request.getremotehost 輸出 abc request.getheader host 輸出 192.168.0.1 8080 web伺服器名字 request....

獲取真實的ip教程

場景一 無cdn情況 直接通過預設方法獲取 httpcontext.current.request.userhostaddress 場景二 阿里雲cdn 當乙個七層 伺服器 如高防ip 把使用者的訪問請求轉到後端伺服器時,源站預設看到的是這個七層 伺服器 如高防ip 的回源ip。而真實的客戶端ip會...

java如何獲取真實的IP

如果伺服器如果沒有採用反向 而且客戶端沒有用正向 的話,那麼可以獲取客戶端的真實ip位址request.getremoteaddr 如果伺服器如果沒有採用反向 而且客戶端有用正向 的話,那麼通過request.getremoteaddr 獲取客戶端的ip位址是客戶端 的 伺服器的位址,並不是客戶端的...