我该如何阅读这样的字符串?他们的意思是什么?
a:10:{i:0;s:7:"default";i:1;s:8:"failsafe";i:2;s:4:"foaf";i:3;s:4:"ical";i:4;s:2:"js";i:5;s:4:"json";i:6;s:6:"opendd";i:7;s:3:"php";i:8;s:3:"rss";i:9;s:3:"xml";}
我见过很多使用类似字符串的系统,将它存储在数据库中并解析以获取值.我该如何解析它们?
谢谢.
我想实现一个类来处理我的应用程序的所有HTTP请求,它基本上是:
因此,我将不得不从服务器(JSON)获取结果字符串并将其传递给另一个方法来处理响应.
我目前有这样的方法:
public class Get extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... arg) {
String linha = "";
String retorno = "";
mDialog = ProgressDialog.show(mContext, "Aguarde", "Carregando...", true);
// Cria o cliente de conexão
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(mUrl);
try {
// Faz a solicitação HTTP
HttpResponse response = client.execute(get);
// Pega o status da solicitação
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) { …Run Code Online (Sandbox Code Playgroud) 我开始用 Go 编写代码,并尝试通过检查客户端发送的签名来进行简单的请求验证。乍一看一切都很好,但经过几次验证真实请求的测试后,我发现 Go 生成了一个尴尬的哈希值。
\n\n为了证明Go后端和JavaScript签名之间的不一致,我开发了相同签名方法的PHP版本,它给了我与JavaScript版本相同的结果,所以我的期望是正确的。
\n\n我为每种语言开发了一个示例测试:Go、PHP和JavaScript。
\n\n那么,要在 Go 中达到 PHP 和 JavaScript 相同的结果,我应该怎么做呢?
\n\npackage main\n\nimport (\n "crypto/hmac"\n "crypto/sha256"\n "encoding/base64"\n "fmt"\n)\n\nfunc main() {\n data := "My name is Danniel"\n\n mac := hmac.New(sha256.New, []byte("secret"))\n mac.Write([]byte(data))\n\n macSum := mac.Sum(nil)\n data64 := base64.StdEncoding.EncodeToString(macSum)\n fmt.Println(fmt.Sprintf("mac: %s | b64: %s", macSum, data64))\n\n data64 = base64.StdEncoding.EncodeToString([]byte("My name is Danniel"))\n fmt.Println(fmt.Sprintf("b64: %s", data64))\n}\nRun Code Online (Sandbox Code Playgroud)\n\nmac: 6\xef\xbf\xbd\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbd0\xef\xbf\xbd\xef\xa3\xae\xef\xbf\xbd5\xd0\xb9\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbdG\xef\xbf\xbd#0\xef\xbf\xbd\xef\xbf\xbdih | b64: NqzRcf/FMLPvo678NdC58JB8lgOFR+wjMNQDDwSkaWg=\nb64: TXkgbmFtZSBpcyBEYW5uaWVs\nRun Code Online (Sandbox Code Playgroud)\n\n