标签: decoding

EncodeError with \xa3 (英镑符号)

我正在尝试从网页中获取一些数据。此网页已声明字符集为 utf-8。但是 \xa3 符号有问题。我不能被编码或解码到/从'utf-8'。

for key,value in self.__dict__.iteritems():
            if key not in self.db_attributes:
                print repr(value)
                attrs_statement+=str(key)+', '
                values_statement+=str(value)+', '
Run Code Online (Sandbox Code Playgroud)

错误:

u'\xa3410'
Traceback (most recent call last):
  File "C:\Users\Milano\My Documents\LiClipse Workspace\Velvet_scraper\vehicle.py", line 432, in <module>
    v.prepare_insert_statement('motorhog_temp')
  File "C:\Users\Milano\My Documents\LiClipse Workspace\Velvet_scraper\vehicle.py", line 381, in prepare_insert_statement
    values_statement+=str(value)+', '
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

请问这有什么问题吗?

编辑:

全方法:

def prepare_insert_statement(self,table):
        log('prepare_insert_statement, table: {0}'.format(table))

        attrs_statement = "("
        values_statement = "("

        for key,value in self.__dict__.iteritems():
            if key not …
Run Code Online (Sandbox Code Playgroud)

python encoding decoding

1
推荐指数
1
解决办法
4010
查看次数

Spring - 使用二进制文件进行 POST - 字符解码失败

我正在运行一个 spring-boot 应用程序,它似乎在处理特定请求时遇到问题。该请求是一个包含二进制数据的 POST,但是,当 JavaServlet(或 tomcat?)收到它时,它不知道如何对其进行解码,因此会产生以下错误:

org.apache.tomcat.util.http.Parameters   : Character decoding failed. Parameter [0  *H÷
          0 UUS1#0!U
S§¥ø§'ôZúöf¿(å_Ý«"õéñ¤åyl¢Ýg0izt¡÷~ÅüvDt¿Äû¨Ë åt@òÔÊdJRBq%2¶ úFsX] with value [] has been ignored. Note that the name and value quoted here may be corrupted due to the failed decoding. Use debug level logging to see the original, non-corrupted values.
Run Code Online (Sandbox Code Playgroud)

我知道以下配置似乎对其有一些影响,但我不知道将包含二进制文件的帖子的值设置为什么:

server.tomcat.uri-encoding=UTF-8 #I've also tried UTF-16
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间。

编辑(答案):您可以使用具有以下配置的 apache 代理来解决此问题:

<Location /endpoint/>
    ProxyPass https://127.0.0.1:443/endpoint/
    RequestHeader unset Content-Type
    RequestHeader set Content-Type "application/octet-stream"
</Location>
Run Code Online (Sandbox Code Playgroud)

取消设置 Content-Type 是可选的,我相信该设置应该覆盖。但是,我不是 100% 该字段不区分大小写。也RequestHeader unset …

post spring decoding bin

1
推荐指数
1
解决办法
2936
查看次数

Python抓取编码问题

我正在尝试使用 beautifulsoup 抓取网站。我基本上是成功的,但有两个问题

\n\n
    \n
  1. 从网站获取数据后,我将它们打印到屏幕上,并将它们写入 CSV 文件。网站中有一个价格字段,其中包含实际金额的卢比符号(价格字段的示例结构:\xe2\x82\xb9 10000)。当我将金额打印到控制台时,它打印得很好并且没有任何问题。当我尝试将其写入 Excel 工作表时,出现错误 \n"Unicodeencoeerror" 编解码器 \'charmap\' 无法对位置 28 中的字符 \'\\u20b9\' 进行编码。我正在将其他字段打印到控制台和 Excel该问题仅显示 \nup 有两个字段,一个带有货币符号,另一个带有 * \n符号

  2. \n
  3. 我正在运行一个循环来从网页中获取特定\n搜索的所有页面。搜索结果约为 344 页,但循环在大约页 \n43 处停止,仅 HTML 错误 500 作为错误消息

    \n\n
    import bs4\nfrom urllib.request import urlopen as uReq\n\nfrom bs4 import BeautifulSoup as Soup\nfilename = "data.csv"\nf = open(filename,"w")\nheaders = "phone_name, phone_price, phone_rating,number_of_ratings, \nmemory, display, camera, battery, processor, Warrenty, security, OS\\n"\nf.write(headers)\n\n\nfor i in range(2):      # Number of pages minus one \n        my_url = \'https://www.flipkart.com/search?as=off&as-\n        show=on&otracker=start&page=\n        {}&q=cell+phones&viewType=list\'.format(i+1)\n        print(my_url)\n\n        uClient=uReq(my_url)\n\n …
    Run Code Online (Sandbox Code Playgroud)

python unicode encoding decoding web-scraping

1
推荐指数
1
解决办法
1329
查看次数

Python base64 编码列表

在 Python 中编码对我来说是新的,我正在努力理解它。如果这已经被问到并已经回答了,我们深表歉意。

我正在尝试对 Python 列表进行编码并对其进行解码。当我尝试直接对列表进行编码时,遇到如下错误。

>>> my_list = [1, 2, 3]
>>> encoded_list = base64.b64encode(my_list)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/base64.py", line 54, in b64encode
    encoded = binascii.b2a_base64(s)[:-1]
TypeError: b2a_base64() argument 1 must be string or buffer, not list
Run Code Online (Sandbox Code Playgroud)

为了修复它,我将列表对象转换为字符串并将其传递给 encode 函数,并且我能够成功对其进行编码。

>>> encoded_list = base64.b64encode(str(my_list))
>>> encoded_list
'WzEsIDIsIDNd'
Run Code Online (Sandbox Code Playgroud)

当我尝试解码它时,我得到一个解码后的字符串,如下所示。

>>> decoded_list = base64.b64decode(encoded_list)
>>> decoded_list
'[1, 2, 3]'
>>> type(decoded_list)
<type 'str'>
Run Code Online (Sandbox Code Playgroud)

但是我的初衷是对列表进行编码和解码,而不是将列表转换为字符串,然后将字符串转换为列表。

很确定这不是对 dict 或列表等对象进行编码的正确方法。如果是这种情况,有人可以启发我如何在 Python 中编码/解码非字符串对象吗?

非常感谢。

python base64 encoding decoding

1
推荐指数
1
解决办法
8775
查看次数

使用python的split函数后奇怪的解码(例如:\x00)

这是一个非常奇怪的情况, split 函数正在改变字符串格式。请看下面的代码,

代码:

COM_Port = serial.Serial(COM_PortName)
with COM_Port as port:
    while True:
         RxedData = port.readline()
         line = RxedData.decode('utf-8')
         print("Line 1: ", line)
         row = line.split(',')[1:-1]
         print("Line 2: ", row)
Run Code Online (Sandbox Code Playgroud)

输出:

Line 1: "* , 0 0 0 0 0 5 7 5 , 2 3 : 0 3 : 4 7 , 1 1 / 0 2 / 2 0 , 1 2 . 3 4 5 , K P A , 0 0 0 0 6 . 8 …
Run Code Online (Sandbox Code Playgroud)

python encoding decoding python-3.x

1
推荐指数
1
解决办法
9470
查看次数

F1 2019 UDP解码

我目前正在为 F1 方向盘开发自己的显示器。F1 2019(由codemasters提供)通过UDP发送数据。该数据存储在字节数组中。

我在解码返回的数组时遇到一些问题。问题是我得到了很多信息,但我不知道如何处理它们。我将向您介绍我所尝试过的方法。

我通过端口 20777(游戏的标准端口)连接到游戏:

using System.Net;
using System.Net.Sockets;

var Client = new UdpClient(20777); //Connectionport

Run Code Online (Sandbox Code Playgroud)

在下一段代码中,我从游戏中获取信息:

var RemoteIP = new IPEndPoint(IPAddress.Any, 60240);

byte[] received = Client.EndReceive(res, ref RemoteIP);

Run Code Online (Sandbox Code Playgroud)

如您所见,游戏数据当前存储在字节数组中。

这是最困难的部分(对我来说)。

F1 2019 发送的数据打包在结构中(据我从他们的网站了解到)。但我不知道如何从字节数组中获取信息并放入正确的变量中(例如,当前速度是多少,或者汽车处于什么档位)。

有关数据包的信息位于 Codemasters 的网站上:

https://forums.codemasters.com/topic/44592-f1-2019-udp-specification/

现在真正的问题是:

当我输入这行代码时:

short game_version = BitConverter.ToInt16(received, 0);

Run Code Online (Sandbox Code Playgroud)

我将其显示在文本框中,变量game_version现在是 2019 年。

我不明白为什么indexnumber2019年的字节转换为0。

而且我不知道使用哪些索引号来获取我想要的每个变量。

我希望有人能够对这个问题有所启发。在codemasters论坛上似乎每个人都知道如何从字节数组中获取数据。

亲切的问候。

c# udp decoding

1
推荐指数
1
解决办法
1599
查看次数

Python文本编码

我把这个文本放在一个文件中 - Recuérdame(注意它是一个法语单词).当我用python脚本读取这个文件时,我得到这个文本Recu&#xE9;rdame.

我把它读作unicode字符串.我是否需要找到文本的编码是什么并解码?还是我的终端在玩弄诡计?

python encoding text decoding character-encoding

0
推荐指数
1
解决办法
3595
查看次数

如何在PHP中编码和解码多维数组?

可能重复:
PHP数组编码和解码:需要一个函数来编码和解码带有分隔符或数组本身的字符串或数组...

喜.我是php的新手.我需要在php中编写两个独立的函数来编码和解码多维数组.我附加了一个插件.......... encode.class.php ..............

<?php

/*-------------------------
Author: Jonathan Pulice
Date: July 26th, 2005
Name: JPEncodeClass v1
Desc: Encoder and decoder using patterns.
-------------------------*/

class Protector
{

    var $Pattern = "";
    var $PatternFlip = "";
    var $ToEncode = "";
    var $ToDecode = "";
    var $Decoded = "";
    var $Encoded = "";
    var $Bug = false;
    var $DecodePattern = "";

    function Debug($on = true)
    {
        $this->Bug = $on;
    }

    function Encode()
    {


        $ar = explode(":", $this->Pattern);
        $enc = $this->ToEncode;

        if ($this->Bug) …
Run Code Online (Sandbox Code Playgroud)

php arrays encoding decoding

0
推荐指数
1
解决办法
2万
查看次数

解码/编码字符串,提交'Šiven'但获取'\ xa6iven'

我正在运行Ubuntu 10.04 LTS,Python 2.6.5(r265:79063,2010年4月16日,13:09:56)

>>> m = 'Šiven'
>>> m
'\xa6iven'
>>> unicode(m)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa6 in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我应该如何正确设置它(编码,解码),以便它准确地写出它读取的内容?

python string encoding decoding

0
推荐指数
1
解决办法
742
查看次数

字符编码问题,无法使用PERL API解码HTML实体

我现在对编码方案感到疯狂.我将在下面陈述我的问题,请提供您的意见.

问题:我有一些输入字符串,如下面的代码所示.最终所需的输出是"Křižovnická190".[你可以在这里解码].我正在使用perl模块来解码这些字符串.以下是我的测试代码:

use HTML::Entities;
binmode STDOUT,":utf8";
$a = "K&#345;i&#158;ovnick&aacute; 190";
decode_entities($a);
print $a."\n";
Run Code Online (Sandbox Code Playgroud)

然而输出,我得到的是"Křiovnická19",这意味着"ř"被正确解码,但"ž"不是.我的问题是为什么?然后我尝试了"_decode_entities"方法,我们提供了entity2char哈希,但仍然没有成功.

PS:我必须在这里使用Perl,因为其他遗留API,请在这里帮助我

perl decoding html-entities

0
推荐指数
1
解决办法
767
查看次数