从unicode获取可读文本

时间:2017-01-20 09:24:25

标签: php string

print_r(json_decode('{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}'));

这是有效的,并以希伯来语提供输出但是当我把字符串的名称改为硬编码

(print_r(json_decode($str)); 

其中

$str = "\u05ea\u05b5\u05bc\u05dc\u05be\u05d0\u05b8\u05d1";)

然后它给出空输出

3 个答案:

答案 0 :(得分:1)

好吧,\u05ea\u05b5\u05bc\u05dc\u05be\u05d0\u05b8\u05d1不是JSON字符串,而{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}是。{1}}。因此,json_decode将返回NULL

请阅读JSON,特别是json_encode()json_decode()的功能。

答案 1 :(得分:1)

 from selenium.webdriver.common.by import By
 from selenium.webdriver.support.ui import WebDriverWait
 from selenium.webdriver.support import expected_conditions as EC

 link = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, "companyResultsName")))
 link.click()

你的$ str变量有错误的json数组语法..将上面的字符串放在$ str

答案 2 :(得分:0)

字符串不一样。在第一个代码示例中,您的字符串是一个JSON对象,其字符串包含unicode字符。在第二个例子中,它只是一个unicode字符串,我认为它不是有效的JSON,因此json_decode无法处理它。