你整個程序都有問題啊,arr是個數組,不是個對象,JSON.stringify()後還是個空數組。另外jarr.result是什麼鬼? JSON.stringify()後jarr只會是個純的Json字元串了,根本拿不到任何欄位 正確的json base64編碼應該是類似於下面的代碼 new Buffer(JSON.stringify({"hello":"world"})).toString("base64");
❷ Base64的常用API
文/li大鵬(作者)
原文鏈接: http://www.jianshu.com/p/c7979bf62154
本文是我粘貼上述作者的,我對文章進行了簡單的排版,方便大家閱讀,也便於自己學習,希望原作者不會介意
/**************** Base 64 Options****************/
Base64是一組二進制到文本轉化的方案,以ASSCII格式表示二進制數據,這些方案用來編碼二進制數據以存儲或者通過把多媒體文件轉換成文本數據進行傳輸,這個能保證數據在傳輸的過程中的完整性。Base64醉常見的用於是處理電子郵件附件,或者解碼小圖片。在iOS7之前,Base64的編碼和解碼是需要自己實現的或者是使用第三方庫,但是現在蘋果提供一些API來實現Base64功能
//4.base64編碼中的一些設置選擇
//5.base64在解碼過程中的option可選條件,下面選項表示在解碼過程中忽略不能識別的位元組
/****************Immutable Data不可變的Data****************/
//6.獲取data長度的屬性
//7.返回data對象的首指針
//8.返回一個ASCII編碼格式的字元串,採用的格式是data屬性列表的格式。
//9.取出data中指定長度的位元組存入buffer這個提前聲明的數組中
//9.取出data中指定位置range的位元組存入buffer這個提前聲明的數組中
//10.判斷兩個data是否相等
//11.截圖data指定位置的子data
//12.將data寫入指定的文件
//13.將data寫入指定的url
//14.將data寫入指定文件,並且有寫入過程的設置條件,帶錯誤信息
//15.將data寫入指定的url,並且有寫入過程的設置條件,帶錯誤信息
//16.搜索在data1內部存在data2的位置,並且有搜索配置條件,並且可加入搜索的范圍
//17.列舉遍歷字典的方法
/ 創建data的所有相關方法作為一個類別幾種到一塊 /
//18.data的快速創建辦法
//19.賦值以bytes開頭,長度為length的數據,進行初始化使其成為數據對象的內容
//20.這個方法生成的data中保存的是指向數據的指針,並沒有對數據進行復制操作。
//21.這個方法生成的data中保存的是指向數據的指針,並沒有對數據進行復制操作。當flag為yes的時候,生成的data對象是bytes的所有者,當data對象被釋放的時候也會同時釋放bytes,所以bytes必須是通過malloc在堆上分配的內存。當flag為no的時候,bytes不會被自動釋放,釋放bytes時要注意時機,不要再data對象還被使用的時候釋放bytes。
//22.載入file文件,並且有可選擇讀取文件的選項配置條件,帶有錯誤信息
//23.載入url,並且有可選擇讀取文件的選項配置條件,帶有錯誤信息
//24.從參數path指定的文件讀入二進制數據,用該數據初始化NSData對象。
//25.從參數path指定的url讀入,用該數據初始化NSData對象。
//26.賦值以bytes開頭,長度為length的數據,進行初始化使其成為數據對象的內容
//27.這個方法生成的data中保存的是指向數據的指針,並沒有對數據進行復制操作。
//28.這個方法生成的data中保存的是指向數據的指針,並沒有對數據進行復制操作。當flag為yes的時候,生成的data對象是bytes的所有者,當data對象被釋放的時候也會同時釋放bytes,所以bytes必須是通過malloc在堆上分配的內存。當flag為no的時候,bytes不會被自動釋放,釋放bytes時要注意時機,不要再data對象還被使用的時候釋放bytes。
//29.
//30.從參數path指定的文件讀入二進制數據,用該數據初始化NSData對象。如果讀取文件失敗,則釋放調用者並返回nil,同時把錯誤信息寫入指針errorPtr。mask是一個選項信息,用於指定是否使用虛擬內存等。
//31.從參數url指定的路徑中讀入,用該數據初始化NSData對象。如果讀取文件失敗,則釋放調用者並返回nil,同時把錯誤信息寫入指針errorPtr。mask是一個選項信息,用於指定是否使用虛擬內存等。
//32.載入flie文件路徑
//33.載入url
//34.用指定的NSData對象aData來創建一個新的NSData對象,參數可以是NSMutableData對象。
//35.用指定的NSData對象aData來創建一個新的NSData對象,參數可以是NSMutableData對象。
@end
/*** base64方案編碼分類 iOS7之後蘋果給出以下四個API供實現base64方案 頭兩個是處理字元串的,後兩個是處理UTF-8編碼數據的,這兩個承兌的方法功能是一樣的,但是有時候用其中一個比另一個效率要高。如果你像要bae64編碼字元串然後寫進文件,你應該使用UTF-8編碼數據的這對方法。如果你打算base64編碼字元串之後用作json,你應該使用另外一對方法編碼解碼一一對應***/
//36.解碼。將已經base64編碼之後的字元串數據再轉化為NSData數據,
//37.編碼。將一個data數據利用base64方案轉化成base64之後的NSString字元串
//38.解碼。將已經base64編碼之後的NSData數據再轉化為NSData數據
//39.編碼.將一個data數據利用base64方案轉化成base64之後的NSData數據
示常式序:使用第一對編碼解碼API。
/****************Mutable Data可變data****************/
//40.可變data的可變位元組
//41.可變data的長度
//42.給可變data追加位元組
//43.給data追加其他的data
//44.為已經存在的data追加新的長度
示常式序:
//45.給data替換對應位置的位元組
//46.重置可變data對應位置的位元組
//47.為可變data設置data數據
//48.給data替換對應位置的位元組, 並且存在替換長度
//49.動態創建可變data並且初始化指定大小
//50.動態創建可變data並且初始化指定長度
//51.靜態創建可變data並且初始化指定大小
//52.靜態創建可變data並且初始化指定長度
//1.data讀取過程的可選配置條件
//2.data寫入過程的可選配置條件
/****************Data Search Options****************/
//3.data在搜索過程中的可選配置條件
文/li大鵬(作者)
原文鏈接: http://www.jianshu.com/p/c7979bf62154