预览模式: 普通 | 列表

php中asc码与字符互转

以前花了不少时间,找可以把中文转ascii码的php代码,utf-8也只是ascii的一种。后来中手册上找到了个,把他改为了批量转换,还增加了一个常用的ascii代码还原字符。这个代码写好了有一段时间了,没什么时间把这些贴出来,大家可以看看,这个类不止只是中文的转换哟

<?php
class ascii
{

function decode($str)
{
    
preg_match_all( "/(d{2,5})/", $str,$a);
    
$a = $a[0]
;
    
foreach ($a as $dec)

    
{
        
if ($dec < 128)
        
{
            
$utf .= chr($dec);
        
}

        
else if ($dec < 2048)
       
{
            
$utf .= chr(192 + (($dec - ($dec % 64)) / 64));
            
$utf .= chr(128 + ($dec % 64))
;
        
}

        
else
        
{
            
$utf .= chr(224 + (($dec - ($dec % 4096)) / 4096));
            
$utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64))
;
            
$utf .= chr(128 + ($dec % 64))
;
        
}

    
}

    
return $utf
;
}


function encode($c)
{
    
$len = strlen($c)
;
    
$a = 0
;
    
while ($a < $len)

    
{
        
$ud = 0;
        
if (ord($c{$a}) >=0 && ord($c{$a})<=127)

        
{
            
$ud = ord($c{$a});
            
$a += 1
;
        
}

        
else if (ord($c{$a}) >=192 && ord($c{$a})<=223)
        
{
            
$ud = (ord($c{$a})-192)*64 + (ord($c{$a+1})-128);
            
$a += 2
;
        
}

        
else if (ord($c{$a}) >=224 && ord($c{$a})<=239)
        
{
            
$ud = (ord($c{$a})-224)*4096 + (ord($c{$a+1})-128)*64 + (ord($c{$a+2})-128);
            
$a += 3
;
        
}

        
else if (ord($c{$a}) >=240 && ord($c{$a})<=247)
        
{
            
$ud = (ord($c{$a})-240)*262144 + (ord($c{$a+1})-128)*4096 + (ord($c{$a+2})-128)*64 + (ord($c{$a+3})-128);
            
$a += 4
;
        
}

        
else if (ord($c{$a}) >=248 && ord($c{$a})<=251)
        
{
            
$ud = (ord($c{$a})-248)*16777216 + (ord($c{$a+1})-128)*262144 + (ord($c{$a+2})-128)*4096 + (ord($c{$a+3})-128)*64 + (ord($c{$a+4})-128);
            
$a += 5
;
        
}

        
else if (ord($c{$a}) >=252 && ord($c{$a})<=253)
        
{
            
$ud = (ord($c{$a})-252)*1073741824 + (ord($c{$a+1})-128)*16777216 + (ord($c{$a+2})-128)*262144 + (ord($c{$a+3})-128)*4096 + (ord($c{$a+4})-128)*64 + (ord($c{$a+5})-128);
            
$a += 6
;
        
}

        
else if (ord($c{$a}) >=254 && ord($c{$a})<=255)
        
{ //error
            
$ud = false;
        
}

        
$scill .= "&#$ud;"
;
    
}

    
return $scill
;
}


 

最近在技术群中有位兄弟提出了一个问题:

查看更多...

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4355

Javascript生成随机整数

JavaScript代码
  1. function gen_random(min, max){   
  2. return Math.floor(Math.random() * (max- min) + min);   
  3. }  

如gen_random(10, 100)将产生10~100之间的整数,其中Math.random()产生0-1的随机数,乘以(100-10)将得到0~90的数,再加上10得到10~100的数,然后用Math.floor对该结果取整。

Tags: javascript

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6863

VB实现不占用CPU的延时

Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Delay(ByVal t As Long)
Dim BeginTime As Long
BeginTime = timeGetTime
While timeGetTime < BeginTime + t
DoEvents
Sleep 1
Wend
End Sub
Private Sub Command1_Click()
Call Delay(5000)
MsgBox ("Hello world!")
End Sub

Tags: vb

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3464

桌面-我的电脑-右键选择管理-找到服务-看右边-找到Windows   Image   Acquisition   (WIA)   服务,设置启动类型为自动,点击应用,点击启动,确定。之后就可以了。

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2937

fopen() 函数用于在 PHP 中打开文件

打开文件

fopen() 函数用于在 PHP 中打开文件。

此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:

文件可能通过下列模式来打开:

模式 描述
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末端写内容,来保持文件内容。
x 只写。创建新文件。如果文件以存在,则返回 FALSE。
x+

读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

查看更多...

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3186

left() 函数是 VBScript 的函数,VBScript 将1个汉字看作1个字符,因此用 left()不能得到正确的字符长度。

以下3个函数,用来取代 len()、left()、right(),希望能解决您的问题。

'--------------------------------------------------------
'Name:        lenX
'Argument:        uStr
'Return:
'Description:    返回字符串的长度,1个中文字符长度为2
'--------------------------------------------------------

function lenX(byval uStr)
    dim theLen,x,testuStr
    theLen = 0

    for x = 1 to len(uStr)
        testuStr = mid(uStr,x,1)
        if asc(testuStr) < 0 then
            theLen = theLen + 2
        else
            theLen = theLen + 1
        end if
    next
    lenX = theLen
end function

'--------------------------------------------------------
'Name:        leftX
'Argument:        uStr        待处理的字符串
'        uLen        要截取的长度
'Return:
'Description:    返回指定长度的字符串,1个中文字符长度为2
'--------------------------------------------------------

function leftX(byval uStr,byval uLen)
    dim i,j,uTestStr,theStr

    leftX = ""
    j = 0

    for i = 1 to len(uStr)
        uTestStr= mid(uStr,i,1)
        theStr    = theStr & uTestStr
        if asc(uTestStr) < 0 then
            j = j + 2
        else
            j = j + 1
        end if
        if j >= uLen then exit for
    next
    leftX = theStr
end function

'--------------------------------------------------------
'Name:        rightX
'Argument:        uStr        待处理的字符串
'        uLen        要截取的长度
'Return:
'Description:    返回指定长度的字符串,1个中文字符长度为2
'--------------------------------------------------------

function rightX(byval uStr,byval uLen)
    dim i,j,uTestStr

    rightX = ""
    j = 0

    for i = len(uStr) to 1 step -1
        uTestStr = mid(uStr,i,1)
        rightX = rightX & uTestStr
        if asc(uTestStr) < 0 then
            j = j + 2
        else
            j = j + 1
        end if
        if j >= uLen then exit for
    next
end function
 

Tags: asp

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4165

淘宝热门商品关键字提取器

可以批量提取淘宝商品热门搜索关键字,推荐各位掌柜和淘宝客使用,利用好了可以带来不少流量和Money!~

分类:我的作品 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4217

2009年世界网民数量TOP20排行榜

世界网民数量TOP20排行榜

#

国家名称

人口

网民数

人口比率

全球比率

1

China

1,338,612,968

360,000,000

26.9 %

20.8 %

2

United States

307,212,123

227,719,000

74.1 %

13.1 %

3

Japan

127,078,679

95,979,000

75,5 %

5.5 %

4

India

1,156,897,766

81,000,000

7.0 %

4.7 %

5

Brazil

198,739,269

67,510,400

34.0 %

3.9 %

6

Germany

82,329,758

54,229,325

65.9 %

3.1 %

7

United Kingdom

61,113,205

46,683,900

76.4 %

2.7 %

8

Russia

140,041,247

45,250,000

32.3 %

2.6 %

9

France

62,150,775

43,100,134

69.3 %

2.5 %

10

Korea South

48,508,972

37,475,800

77.3 %

2.2 %

11

Iran

66,429,284

32,200,000

48.5 %

1.9 %

12

Italy

58,126,212

30,026,400

51.7 %

1.7 %

13

Indonesia

240,271,522

30,000,000

12.5 %

1.7 %

14

Spain

40,525,002

29,093,984

71.8 %

1.7 %

15

Mexico

111,211,789

27,600,000

24.8 %

1.6 %

16

Turkey

76,805,524

26,500,000

34.5 %

1.5 %

17

Canada

33,487,208

25,086,000

74.9 %

1.4 %

18

Philippines

97,976,603

24,000,000

24.5 %

1.4 %

19

Vietnam

88,576,758

21,963,117

24.8 %

1.3 %

20

Poland

38,482,919

20,020,362

52.0 %

1.2 %

TOP 20 Countries

4,374,577,583

1,325,437,422

30.3 %

76.4 %

Rest of the World

2,393,227,625

408,556,319

17.1 %

23.6 %

Total World - Users

6,767,805,208

1,733,993,741

25.6 %

100.0 %

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4227

经典PHP文件操作函数及实例介绍

//判断文件或目录是否存在

 

bool file_exists(string filename)

 

判断文件或目录是否存在,存在则返回真,否则返回假

 

格式:

 

查看更多...

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3637

 广告位

↑返回顶部↑