巫妖天下 - LichSky

关于作者:专注于微软平台项目架构、管理和企业解决方案。熟悉各类技术手段、架构设计、开发和项目管理。现主要从事项目开发、架构、管理工作。

« 好电影IIS ReWrite »

json for asp

<%



response.Write(enUnicode("呵呵"))
response.Write("<br>")
response.Write(deUnicode("\u5475\u5475"))






'根据tag获取con的左侧字符串
Function GetLeftPart(Con, tag)
  if instr(con,tag)>0 then
    GetLeftPart = Left(Con, InStr(Con, tag) - 1)
  else
    GetLeftPart = ""
  end if
End Function

'根据tag1和tag2获取con的中间字符串
Function GetBetweenPart(Con, tag1, tag2)
  if instr(con,tag1)>0 and instr(con,tag2)>0 then
    GetBetweenPart = GetLeftPart(GetRightPart(Con, tag1), tag2)
  else
    GetBetweenPart = ""
  end if
End Function

'根据tag获取con的右侧字符串
Function GetRightPart(Con, tag)
  if instr(con,tag)>0 then
    GetRightPart = Right(Con, Len(Con) - InStr(Con, tag) - Len(tag) + 1)
  else
    GetRightPart = ""
  end if
End Function

'-----------------字符Unicode编码与反编码----------------------
Function enUnicode(code)
  dim ix,thisStr,ThisCode,newcode
  
  if code="" then
     codetouni=""
     exit function
  end if   
  
  for ix=1 to len(code)
    thisstr=right(left(code,ix),1)
    thiscode=Lcase(hex(ascw(thisstr)))
    if len(thiscode)=1 then
       thiscode="\u000"+thiscode
    elseif len(thiscode)=2 then
       thiscode="\u00"+thiscode  
    elseif len(thiscode)=3 then
       thiscode="\u0"+thiscode
  else
    thiscode="\u"+thiscode
    end if
    newcode=newcode+thiscode
  next
    
  enUnicode=newcode
       
End Function

Function deUnicode(unic)
  dim ixx,thisUni,oricode,fst,sec,trd,fth,oristr
  
  if unic="" then
     unitocode=""
     exit function
  end if
  
  unic = replace(unic,"\u","")
  
  if ((len(unic)) mod 4 )= 0 then
  
    for ixx=1 to len(unic)/4
    thisuni=right(left(unic,ixx*4),4)  
    if left(thisuni,2)="00" then
       thisuni=right(thisuni,2)
       fst=gethexv(right(thisuni,1))
       sec=gethexv(left(thisuni,1))
       oricode=chr(sec*16+fst)
       oristr=oristr+oricode
    else   
       fst=gethexv(right(thisuni,1))
       sec=gethexv(right(left(thisuni,3),1))
       trd=gethexv(right(left(thisuni,2),1))
       fth=gethexv(left(thisuni,1))
       oricode=chrw(fth*16*16*16+trd*16*16+sec*16+fst)
       oristr=oristr+oricode
    end if     
    next
  
  else
    oristr = ""
  end if
    
  deUnicode=oristr
     
End Function

Function GetHexV(ST)
  
  SELECT CASE ST
  CASE "0"
     GETHEXV=0
  CASE "1"
     GETHEXV=1   
  CASE "2"
     GETHEXV=2
  CASE "3"
     GETHEXV=3 
  CASE "4"
     GETHEXV=4
  CASE "5"
     GETHEXV=5   
  CASE "6"
     GETHEXV=6
  CASE "7"
     GETHEXV=7    
  CASE "8"
     GETHEXV=8
  CASE "9"
     GETHEXV=9   
  CASE "A"
     GETHEXV=10
  CASE "B"
     GETHEXV=11 
  CASE "C"
     GETHEXV=12
  CASE "D"
     GETHEXV=13   
  CASE "E"
     GETHEXV=14
  CASE "F"
     GETHEXV=15       
  END SELECT
     
End Function

'----------------------------------------------
%>

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 巫妖天下(lichsky@163.com) All Rights Reserved.