您現在的位置是:電腦技術吧?>? 編程技術 ??>??你能干大事,人能干啥??>??正文詳情

你能干大事,人能干啥

苑凡兒2019-12-05 12:42:00 人圍觀
簡介能干的人都是怎樣的PHP還能夠在PHP中做一些偉大的事情。本文主要介紹了在PHP中進行編譯碼的一些細節,這些細節在PHP中也能起到很大的作用。介紹了ASCII編解碼、URL編解碼太能干的人會

PHP也能干大事之PHP中的編碼解碼詳解 這篇文章主要介紹了PHP也能干大事之PHP中的編碼解碼詳解,本文講解了ASCII編解碼、URL編解碼、Base64編解碼、HTML實體編解碼、二進制、八進制、十進制、十六進制相互轉換等內容,需要的朋友可以參考下  寫在前面  PHP也能干大事是我總結的PHP語法特性及相關函數類庫的經典用法,并不一定是真正能實現四兩撥千斤的功效,但是掌握這些方法,可以在你的工作和學習上有一些幫助,希望大家能集思廣益,將PHP也能干大事豐富得更精彩!轉載請注明出處(jb51.net)  二、前言  PHP是常見的腳本語言,主要是因為其簡單易學,上手快,幾乎50%以上的Web程序都有PHP的身影(不完全統計)。

PHP為開發這提供了豐富的函數和API接口,這使得我們能夠非常方便地使用其強大的內置函數及擴展,本文是PHP也能干大事系列的第一篇,主要總結PHP在編解碼、進制轉換方面的知識。

  三、PHP編解碼  1、ASCII編解碼  ASCII(發音:英語發音:/ski/ ASS-kee,American Standard Code for Information Interchange,美國信息交換標準代碼)是基于拉丁字母的一套電腦編碼系統。

它主要用于顯示現代英語,而其擴展版本EASCII則可以部分支持其他西歐語言,并等同于國際標準ISO/IEC 646。

由于萬維網使得ASCII廣為通用,直到2007年12月,逐漸被Unicode取代。

https://zh.wikipedia.org/zh/ASCII

  PHP基本函數內置了ASCII的編解碼函數,這使得我們能輕松進行ASCII編解碼。

  int ord ( string $string ) //返回字符串 string 第一個字符的 ASCII 碼值。

  string chr ( int $ascii ) //返回相對應于 ascii 所指定的單個字符。

  代碼如下:    $str = 'Welcome to China';  function getNum($string){  $needle = 0;  $num = '';  while (isset($string[$needle])) {  $num .= $num==0?'':' ';  $num .= ord($string[$needle]);  $needle ;  }  return $num;  }  function getChar($num){  $num_arr = explode(' ', $num);  $string = '';  foreach ($num_arr as $value) {  $string .= chr($value);  }  return $string;  }  echo 字符轉ASCII碼n;  echo getNum($str);  echo n;  echo ASCII碼字符n;  echo getChar(getNum($str));  /* @OUTPUT  字符轉ASCII碼  87 101 108 99 111 109 101 32 116 111 32 67 104 105 110 97  ASCII碼字符  Welcome to China  */  ?  2、URL編解碼  URL編碼是一種瀏覽器用來打包表單輸入的格式。

瀏覽器從表單中獲取所有的name和其中的值,將它們以name/value參數編碼作為URL的一部分或者分離地發給服務器。

比如我們在訪問網頁中,會出現很多帶有%的字符串,這就是URL編碼。

  URL編碼一般采用UTF-8編碼格式,所以建議采用UTF-8格式傳遞數據。

正常意義的URL編碼可以理解為ASCII碼的16進制前加上%,無大小寫區分。

  代碼如下:  string urlencode(string $str) //此函數便于將字符串編碼并將其用于URL的請求部分,同時它還便于將變量傳遞給下一頁。

空格編碼成 。

  string urldecode(string $str) //解碼給出的已編碼字符串中的任何 %XX,加號(' ')被解碼成一個空格字符。

  string rawurlencode (string $str) //根據 RFC 3986 編碼指定的字符,空格轉換成 。

  string rawurldecode (string $str) //返回字符串,此字符串中百分號(%)后跟兩位十六進制數的序列都將被替換成原義字符。

不被轉換成空格。

  兩組函數用法一樣,除了對于 和空格的轉換處理上:rawurlencode將空格轉為 ,不將 轉為空格;urlencode則不一樣。

   代碼如下:    $str_arr = array(  'www.jb51.net',  'http://www.jb51.net/',  'PHP也能干大事',  '[email protected]#$%^*()_ =-~`[]{}|;:',./?'  );  foreach ($str_arr as $key = $value) {  echo $value,t-t,urlencode($value),n;  }  /* @OUTPUT  www.jb51.net - www.jb51.net  http://www.jb51.net/ - http://www.jb51.net/  PHP也能干大事 - PHP也能干大事  [email protected]#$%^*()_ =-~`[]{}|;:',./? - [email protected]#$%^&*()_+=-~`[]{}|\;:'"<>,./?  */  ?  3、Base64編解碼  Base64是一種基于64個可打印字符來表示二進制數據的表示方法。

由于2的6次方等于64,所以每6個位元為一個單元,對應某個可打印字符。

三個字節有24個位元,對應于4個Base64單元,即3個字節需要用4個可打印字符來表示。

它可用來作為電子郵件的傳輸編碼。

使用的字符包括大小寫字母各26個,加上10個數字,和加號「 」,斜杠「/」,一共64個字符,等號「=」用來作為后綴用途。

完整的base64定義可見RFC 1421和RFC 2045。

編碼后的數據比原始數據略長,為原來的4/3。

在電子郵件中,根據RFC 822規定,每76個字符,還需要加上一個回車換行。

可以估算編碼后數據長度大約為原長的135.1%。

https://zh.wikipedia.org/zh/Base64  string base64_encode(string $data) //使用 base64 對 data 進行編碼。

  string base64_decode (string $data [, bool $strict = false ]) //對 base64 編碼的 data 進行解碼。

  案例:HTML頁面中img標簽可以在src屬性中采用base64編碼方式,來輸出圖片,這樣可以減少HTTP請求次數。

  復制代碼 代碼如下:    $string = file_get_content('3mc2.png');  echo ';  /* @OUTPUT  UEhQ5Lmf6IO95Yqe5aSn5LqL  */  ?  4、HTML實體編解碼  一些字符在HTML中是預留的,擁有特殊的含義,比如小于號「」用于定義HTML標簽的開始。

如果我們希望瀏覽器正確地顯示這些字符,我們必須在 HTML 源碼中插入字符實體。

字符實體有三部分:一個和號「」 和一個實體名稱(或者一個 「#」 和一個實體編號),以及一個分號「;」。

http://www.ascii.cl/htmlcodes.htm  string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = UTF-8 [, bool $double_encode = true ]]] ) //對包含如下HTML特殊字符進行HTML實體編碼  1.'' (ampersand) becomes '  2.' (double quote) becomes ' when ENT_NOQUOTES is not set.  3. (single quote) becomes '' (or ') only when ENT_QUOTES is set.  4.' (less than) becomes '  5.'' (greater than) becomes '  string htmlspecialchars_decode (string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ]) //此函數的作用和 htmlspecialchars() 剛好相反。

它將特殊的HTML實體轉換回普通字符。

  還有功能相同的函數htmlentities/html_entity_decode,這對函數甚至對漢字都進行了HTML實體編碼,而且會產生亂碼,所以建議使用htmlspecialchars進行編解碼。

  案例:防止XSS跨站腳本攻擊,需要對用戶提交的數據進行HTML實體轉換:   代碼如下:    $_POST['message'] = '測試留言字符'

版權聲明:本文由 苑凡兒 整理編輯。

原標題:能干,能干大事的人

轉載注明出處:http://www.dn9ww09s.icu/program/15161.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 程序員成長之路,一個程序員的成長之路

    程序員成長之路,一個程序員的成長之路 相關圖片程序員上升之路一個常見的錯誤是將JSP視為簡化的Java,這是不可能的。(實際上,JSP是一個簡化的servlet)。程序員通常嘗試直接學習jsp而不學習所需的支持技能。JSJava工程師工資成長之...

  • shutdown用不了,shutdown

    shutdown用不了,shutdown 相關圖片運行shutdown本文主要介紹了語域的使用?關閉?函數在PHP中攔截致命錯誤示例。當我們在做這個項目的時候,你可以向我們的朋友請教,有時由于粗心大意會發生致命的錯誤。如果顯示錯...

  • jsp遍歷,jsp遍歷for

    jsp遍歷,jsp遍歷for 相關圖片jsp中迭代器遍歷數據如果foreach中的items類型是map或collection,如何使用增強for循環?首先,創建一個label處理器類并定義兩個屬性,string VaRjQuery遍歷li...

  • asp 代碼,asp開源代碼

    asp 代碼,asp開源代碼 相關圖片怎樣將asp源代碼這是一個簡單的ASP教程,添加數據代碼程序,接受用戶提交的數據,然后保存到數據庫教程非常方便,哦,讓我們看一個詳細的例子。例如,在“名稱”字段中輸入用戶...

  • curl header,curl打印返回header

    curl header,curl打印返回header 相關圖片curl telnet本文主要介紹了phpcurl偽造IP地址和頭信息代碼的實例。本文給出了服務器端和客戶端的實現代碼,提供了偽造功能和服務器端檢測代碼。你可以給你的朋友們指卷發。雖curl coo...

  • oracle索引怎么用,oracle索引的使用

    oracle索引怎么用,oracle索引的使用 相關圖片oracle視圖索引刪除大量表后,可能會有大量可用空間可回收。請參考以下計算方法:更新統計分析表計算統計;計算碎片空間選擇表名,(塊*8)oracle如何查看索引...

  • 如何進行sql優化,sql查詢優化

    如何進行sql優化,sql查詢優化 相關圖片sql or 優化昨天,我半夜收到一條SQL消息。反應很慢。我很生氣。經過查詢,我只需要三個月運行一次這個SQL。你必須在法定假日經營嗎?SQL如下(非常長)?123456789復雜sql優化...

  • 編程創建一個Rect,編程創建listview

    編程創建一個Rect,編程創建listview 相關圖片uG編程順序本文主要介紹使用angularjs創建單頁應用程序的編程指南。Angularjs是一個流行的JavaScript庫。對于越來越多的朋友,您可以參考單頁應用程序概ug編程創建幾何體怎么設置...

  • 數據結構 鏈表,單鏈表數據結構

    數據結構 鏈表,單鏈表數據結構 相關圖片鏈表本文主要介紹JavaScript中的數據結構和算法(3):鏈表。本文分別介紹了單鏈表和雙鏈表的代碼示例,以及添加節和刪除節的代碼示例。我們可以看到JavaScr什么是鏈表...

  • iptables 端口轉發,iptables本地端口轉發

    iptables 端口轉發,iptables本地端口轉發 相關圖片centos6端口轉發本地接口IP 61.144.14.72的轉發端口3389到116.6.73.229的端口3389(主要是61.144.14.72的接入端口3389,跳到116.iptables端口轉發不起作用...

熱評文章

  • asp與html,asp比html多了哪些

    asp與html,asp比html多了哪些 相關圖片html運行asp代碼如下:函數gethttpxml()set HTTP=server.createobject(msxml2)。服務器xmlhttp)dim lresolve、html改成asp...

  • 如何訪問數據庫,數據庫訪問

    如何訪問數據庫,數據庫訪問 相關圖片數據庫有哪些現在有很多新的JSP用戶經常問如何連接數據庫,如何出錯?所以我把重點放在這篇文章上供你參考。實際上,將所有的數據庫邏輯都放在JSP中并不是一個好方法,但是對于...

  • 數據庫語法,數據庫基本語法

    數據庫語法,數據庫基本語法 相關圖片sql數據庫自學一。access數據庫無DSN連接方式:set adocon=server。創建對象(ADODB。連接)adocon。Opendriver={Microsoftoracle數據庫入門...

  • php日期比較,php一周前的日期

    php日期比較,php一周前的日期 相關圖片php獲取昨天日期本文主要介紹了在PHP上獲取本周星期一具體日期的方法,包括PHP對日期的操作技巧。它具有很強的實用價值。感興趣的朋友可以將代碼片段集成到自己的日期類中,以便...

  • asp日期函數,asp當前日期函數

    asp日期函數,asp當前日期函數 相關圖片asp字符串轉日期函數函數Astro(出生)阿斯特羅=出生=或不ISDATE(出生),然后退出函數出生=月(出生):如果asp提取年月的函數...

  • 語言有哪些,語言

    語言有哪些,語言 相關圖片使用最多的語言WAP的標記語言是WML(無線標記語言)。WML的語法與XML相同,XML是XML的一個子集HTML、XML和WML文件有許多相似之處,因此web開發人員在過去全球語言...

  • 猴子稱大王,猴子大王

    猴子稱大王,猴子大王 相關圖片老什么不在猴子稱大王下面是一個如何在PHP中實現孫悟空選擇算法的例子。本文給出了一個在PHP中實現孫悟空選擇算法的實例。與您分享以供參考。具體分析如下:1。問題:n只猴子坐成...

  • php查詢mysql數據庫,php訪問mysql數據庫

    php查詢mysql數據庫,php訪問mysql數據庫 相關圖片mysql怎么建立數據庫具體如下:123456789101213141516171819202122232425262729331323343536373839404142434445php連接mysql數據庫代碼...

  • 高性能,高性能高可用

    高性能,高性能高可用 相關圖片高性能筆記本您的J2EE應用程序運行緩慢嗎?他們能承受不斷增加的交通量嗎?本文介紹了開發高性能、高靈活度的JSP頁面和Servlet的性能優化技術。它意味著盡可能快地構建用續航強高性...

  • 取整函數,保留整數的函數

    取整函數,保留整數的函數 相關圖片保留整數公式'函數名:getmytimenumber()'函數:生成時間整數'參數:LX--時間整數的類型'LX=0到分鐘LX=1到小時LX=2到天LX=3到月'返回值:生表格取整數公式...

關注微信

变脸官网查询