如何转换带有非拉丁字符的字符串,如下所示:
\n\n\xe4\xbc\x8a\xe8\x97\xa4\xe3\x82\x8a\xe3\x81\xaa\nRun Code Online (Sandbox Code Playgroud)\n\n对此:
\n\n%E4%BC%8A%E8%97%A4%E3%82%8A%E3%81%AA\nRun Code Online (Sandbox Code Playgroud)\n\n在 PHP 中。谢谢 ;)
\n我有这个 JSON 字符串:
$json = '
{"id1":"x",
"N1":"x",
"T1":"x",
"E1":"x",
"E11":"x",
"O1":"x",
"C1":"x",
"C11":"x",
"F1":"x"},
{"id2":"x",
"N2":"x",
"T2":"x",
"E2":"x",
"E22":"x",
"O2":"x",
"C2":"x",
"C22":"x",
"F2":"x"}
';
Run Code Online (Sandbox Code Playgroud)
在我用 PHP 解析之后:
print_r(json_decode($json));
Run Code Online (Sandbox Code Playgroud)
你可以看到 PHP 返回空。
任何帮助,请...
谢谢
有没有办法可以将长数字(例如 12349874529768521)编码为小写字母和数字以减少其长度?这个想法是用户可能在一张纸上有很长的数字。
在我看来,如果有更多可用的符号,则结果数字可以更短。所以我正在寻找类似十六进制的东西,但使用更大的符号空间 AZ 而不仅仅是 AF。
这将用 C# 编写(如果重要的话)
我需要用 Java 解码 Base64 编码的 ZIP 存档 (GZIP) 字符串。
String = "4sIAAAAAAAEAL1W32/aMBB+n7T/wco7NYPuJUoiIZg0JGi70q59Nc6NWEps5h8j/PdzY4eGNVQIuXuyfXf+fPdd/DnJrdElaJV9/oRQUqtY0QIqglieRt4VoboquUojP4lrOy+03sYY73a7q934SsgNHg2HX/DzcrFqANrYSuVEkzQykntoNagYlUKJX3pARRXbuIGLipokXBpQQgVcI04q6GTiAuO5mtlhBTqNtDRwsD8qmBop7caFoKQE7/a4DtmeuS2hfthv4WD3nkIwCqhi/JZSI22VQ4tM6nZl+FoYnkMedTaeTvc46r3DX/0Kfhvg9K2z75in7/NZhLTFSiPrZFxH/ySPz8MhEgphFNzYZQdQacn45jLMCdXsTxdsLUQJhF+G5ppK91ORB0swzyUoFRZtFBZuHAhuZdZGrkOBaaJDNeEuYEPvYcMEDwQ2tRddy32oMgvBQ5X5rSKsDIVVaydVF7Yhwaclq/GdkrvG6XPpijA+qPCrZPfjvEFwuTQvjFu7ytrwF63MxgluxtbW1b3sHrRlFrltaEkYt9FHEX6bk7bs5WVJsF94V1enssnjLMFHFh/V3KDsZvWUYDf19uY2ZPYdHbal33W3uQ/80IbEf6PZxNh+kZIRe5o3OUI6DPSxcX0GGystJHwsDz8Ws14erv8XD1/P5QGNPoyJRqCzJZT2D0Nyi+ItR0z9nE97mRqHZ6qdquwv5U4f/CEKAAA="
Run Code Online (Sandbox Code Playgroud) 假设我有类似的东西:
a = "G?eg?ó?ka"
a = bytes(a, 'utf-8')
a = str(a)
Run Code Online (Sandbox Code Playgroud)
它以以下形式返回字符串:
b'G\xc5\xbceg\xc5\xbc\xc3\xb3\xc5\x82ka'
Run Code Online (Sandbox Code Playgroud)
现在它作为简单的字符串发送(我从eval函数中得到它作为断言)。我现在怎么能得到正常的 UTF-8 形式的起始词?如果有比str(bytes(x))那更好的压缩,我会很高兴听到。
我有这个需要 unicode 值来显示上标字符的 UI。传入的数据有 html 代码。我能看到的唯一问题是它需要一个额外的反斜杠。我将一串“®”传递给 EncodeNonAsciiCharacters。
有什么办法可以返回
\u00AE而不是\\u00AE
static string EncodeNonAsciiCharacters(string value)
{
StringBuilder sb = new StringBuilder();
foreach (char c in value)
{
if (c > 127)
{
string encodedtext = ((int)c).ToString("x4");
//string encodedValue = "\\u" + encodedtext.ToUpper();
string encodedValue = @"\u" + encodedtext.ToUpper();
sb.Append(encodedValue);
}
else
{
sb.Append(c);
}
}
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud) 我正在从 batdongsan 应用程序中抓取数据。我设法找到了api链接并尝试使用curl来获取数据
\n\ncurl -H \'Content-Type:application/x-www-form-urlencoded\' -H \'charset:utf-8\' -H \'Content-Length:182\' -H \'Origin:http://batdongsan.com.vn\' -H \'Accept:application/json\' -H \'User-Agent:Dalvik/2.1.0 (Linux; U; Android 8.0.0; SM-G9500 Build/R16NW)\' -H \'Host:apimap.batdongsan.com.vn\' -H \'Connection:Keep-Alive\' -H \'Accept-Encoding:gzip\' -X POST \'http://apimap.batdongsan.com.vn/api/p_sync\' --data-binary \'ptype=38&cate=0&city=HN&dist=0&maxarea=0&minarea=0&maxprice=0&minprice=0&ward=-1&street=-1&room=-1&direct=-1&projectid=-1&sort=0&page=3&searchType=0&client=android&m=list&pagesize=21\'\nRun Code Online (Sandbox Code Playgroud)\n\n但解码后的 gzip 是我无法理解的字符。返回文本预计为越南语字符。
\n\n退货样本:
\n\n\n\n\ntyJGFkcWIqO1tyJHlkfGViKjIoIDk0MT4pMzQ+IDA5OSAjbFVxNWFmZHAsbFVxNWRnMCNIQCdPbGRtYWJ7YCNJZHlwJHLxYCJRPCI8IzwkPCAjUTwkMCxVcTVkZmAuZ2FpfCAjbFVwMTAzPmAsVXAxMTE8VX E1YmkwfCAkfFVxNWFnPmdgLFVwMTExPFVxNWJpMHwgI2FtYCtsVXE1YmZkcCdpYeAifFVxNWJiYiwiIWRkynVjc3IqMiBYavAkSWxVcTVjZT5gLSAiTFVxNWFmY2AkXFVxNWViYCxJau1iLCI hZnFkcWJyKjIoZHRwc3o/LyZpbGVkPiJhZHRvbmdjcW5uI29tbiZ+byNif2B/IjAwOHIwMD8iMDE4PyAzPyAxPyIwMTgwMzAxMTA1MjI4PSI1Ymg/V31uKmB3YiwiIHJ5Y2ViKjiIiMCRcV XE1ZmcyLCISYWRyKjIxPiA0MDMzNjYwODg4Njc8IixvbmIqMTA1Pic2NzU4NTc1NDM5NTwiKWRiKjE1MDM0OTY2PCIhynVhYioyITAwMC1isiwiI2FkcioyIkHuYCNsVXAxMDM+YChsVXE1ZGkwI2hlfmdgI 2xVcDEyYDISIiRhZHViKjIhMT8hMj8iMDE5MiwiIn9vbWIqMj18K3IkeWR8ZWIqMiRcVXE1ZGU
\n
有什么想法吗?
\n\n编辑1:\n我发现这是base64编码,并且我得到以下字节字符串。但仍然不知道如何解码为字符串。尝试过UTF-8
\n\n\n\n\nb\'\\xb7"F\\x16G\\x16"\\xa3\\xb5\\xb7"G\\x96G\\xc6V"\\xa3"E\\xc5W\\x13VFS\\xe6v\\x02 \\x86\\xc5W\\x13VV3\\x07\\x026\\xc5W\\x03\\x13\\x033\\xe6\\x02\\x86\\xc5W\\x13VF\\x93\\x026\\ x86W\\xe6v\\x026\\xc5W\\x03\\x13&\\x03\\x026\\xc5W\\x13V\\x16s\\xe6\\x02&\\x1e\\xe6\\x02G\\xc5W\ \x13V\\x16\\x13\\x96\\x02\\x05\\x16\\'\\xb6\\x02\\x84\\x96\\xc6\\xc6\\x02\\xd2\\ x02E\\x96\\xd6V7\\x024\\x96G\\x97\\x02\\xd2\\x02\\xc4\\x96\\xae\\xe6\\x02\\x86\\xc5W\\x13V6s\ \x02\x87V\xd6\x02\xe6\x86\x0e\x02G\\\'\xc5W\x13Vf\x136\x02G\x96\xc5W\x13V&f\ x07\\x02\\x03\\x93c#C3#\\x03\\x83C"\\xc2"\\x16FF\\\'V77"\\xa3"e\\x96\\xc5W\\x033\\x033 \\xe6\\x86\\x02EW\\x97\\x02\\xd2\\x02\\x84\\x16\\x96\\x02$
\n
edit2:\n未经 gzip 提取的原始文件
\n\n\n
I%&/m{JJ$\xd8\x90@iG#) eVe]f@{{;N\'?\\fdlJ!?~|?"|g]\xcf\xb2~|>Y/??}Nqsq\'\'w_9 =tY\xdc\xaf&~>+_|wv6?Yg;>^f6$o~w\xcd\xbf<+{YsV<{SgwNKw?\n 8wi^n8Oo?+Eu{}jg>Xd}W\ xee\xab\x9dszR|wq8g/=w_97OO\n 4 ;dwpR.f{uC}.Aw7/>{_\'X\n 7<}NZzlBx\'Ovyw7$3\ng\'w.8%w=X \xd4\xb7_]MUw_jO}Y|d1w>(W_~<{}%/x>qq\'\xc5\x93{s)8y5Xj1hh~\xd3\xbbO}H?"~yG8\xd1\x98\n b_x3 …
我有一个纯文本及其编码的字符串,我想知道使用哪种编码器/算法对字符串进行编码。
纯文本:hello world
编码文本:3MZ7hIAnvqtIqnxZJyEi+dOuJ1/myCfsbYOCsYKkZto=
我知道它与 base64 有关,但我尝试过它对我不起作用。
编辑:我有一个像exe这样的记事本,我在里面写了“hello world”然后保存了它。当我在普通记事本中打开文本文件时,它会显示“3MZ7hIAnvqtIqnxZJyEi+dOuJ1/myCfsbYOCsYKkZto=”。当我在 exe(我写的地方)中打开同一个文件时,它显示纯文本“hello world”。
我想知道,一种方式哈希是如何实现的?你怎么能只在一个方向而不是另一个方向编码一个字符串?如果你反转算法,你不能解码像md5这样的东西吗?在我之前,唯一可行的方法是让它生成随机答案,而不是使用算法.但它每次都以同样的方式散列.请向我解释一下.
所以,我使用的是C,我有6种命令编号为0-5,想要将它们中的3种组合起来,并将组合保存在单字节中.所以问题是如何编码这些数字?例如,如果我使用二进制编码,因此5是101,那么我无法保存555,因为101101101有9位而一个字节只有8.感谢您的关注.