标签: character-encoding

每次重新启动后,Eclipse都会重置文本编码设置

对于具有使用Cp1252编码的旧遗留代码的项目,我需要使用eclipse而不是UTF-8(我通常将其用于所有项目)来使用此编码。如果在Eclipse中使用UTF-8作为编码时编译该项目,则在运行时会出现问题,因为UI中的特殊字符无法正确显示。目前,重新编码所有源代码文件尚不可接受,并且不适合我。

因此,我转到了“窗口”->“设置”->“工作区”,并将“文本编码”设置更改为“默认:Cp1252”。当我在那之后编译时,一切都完美无瑕。到目前为止,一切都很好。

但是,在每次重新启动Eclipse之后,Eclipse会将设置更改回“ Other:UTF-8”。我已经做了很多尝试来弄清楚为什么Eclipse会这样做,而我却空洞了。

甚至在完全全新安装Eclipse(即仅将文件解压缩到我的硬盘驱动器上的空文件夹中)和新创建的空工作区时,也会发生这种情况。我从字面上开始了Eclipse的全新安装,创建了一个新的工作区,Text Encoding的设置为“ Other:UTF-8”。我将其更改为“默认:Cp1252”,关闭了Eclipse,再次启动它,然后将其再次设置为“其他:UTF-8”。我还尝试将其设置为“其他:Cp1252”,但这没有任何改变-它仍会重置为“其他:UTF-8”。

我猜必须要从某个地方读取系统范围的设置,但是我什至不知道要寻找什么。

另外,仅将项目的编码更改为Cp1252也无济于事,因为我仍然遇到特殊字符的问题-显然,我需要更改整个工作区范围的设置才能使其正常工作。

我完全迷失了这一点。谁能帮我?

java eclipse encoding utf-8 character-encoding

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

HttpWebRequest无法正确下载文件

我无法使用WebClient,在任何人建议之前,因为它使我的合法应用程序看起来像迈克菲病毒.所以请不要这么做.

我有一个存储在我的服务器上的binary.txt文件.它大约是1,240kb.但是,HttpWebRequest下载的随机数量从1,300kb到1,700kb.

HttpWebRequest httpRequest = (HttpWebRequest)
WebRequest.Create("http://deviantsmc.com/binary.txt");
httpRequest.Method = WebRequestMethods.Http.Get;
HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
Stream httpResponseStream = httpResponse.GetResponseStream();
byte[] buffer = new byte[1240];
int bytesRead = 0;
StringBuilder sb = new StringBuilder();

//FileStream fileStream = File.Create(@"tcontent.txt");
while ((bytesRead = httpResponseStream.Read(buffer, 0, 1240)) != 0)
{
    sb.Append(Encoding.ASCII.GetString(buffer));
    //fileStream.Write(buffer, 0, bytesRead);
}
File.WriteAllText(@"tcontent1.txt", sb.ToString());
Run Code Online (Sandbox Code Playgroud)

(服务器上的binary.txt文件的内容是ASCII,因此我也将Encoding字符串转换为ASCII).

这是我编码该文本文件的方式(在该服务器上)

我的文件基本上是这样的:

byte[] bytes = File.ReadAllBytes("binary.txt");
String encBytes = Encoding.ASCII.GetString(bytes);
File.WriteAllText(file("binary.txt"), encBytes);
Run Code Online (Sandbox Code Playgroud)

我联系了AV公司关于WebDownloader被视为C#中的一些恶意导入,但他们没有回复我,所以我被迫使用HttpWebRequest.

c# httpwebrequest character-encoding httpwebresponse

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

Python:UnicodeDecodeError:'utf8'编解码器无法解码字节0x91

我正在解析CSV如下:

with open(args.csv, 'rU') as csvfile:
        try:
            reader = csv.DictReader(csvfile, dialect=csv.QUOTE_NONE)
            for row in reader:
            ...
Run Code Online (Sandbox Code Playgroud)

args.csv我的文件名称在哪里.我文件中的一行是一个顶部有两个点的e.遇到这个时我的脚本会中断.

我得到以下堆栈跟踪:

File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 244, in dumps
    return _default_encoder.encode(obj)
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
Run Code Online (Sandbox Code Playgroud)

并出现以下错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0x91 in position 5: invalid start byte
Run Code Online (Sandbox Code Playgroud)

FWIW,我正在运行Python 2.7并且升级不是一个选项(出于几个原因).

我很失落如何解决这个问题所以非常感谢任何帮助.

谢谢!

python csv character-encoding python-2.x

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

如果所有Java字符串都是UTF-16字符串,那么char数据类型的最大大小如何为2?

如果Java中的字符串是UTF-16,那么UTF-16字符的大小可能是4个字节.因此,1个UTF-16角色必须映射到2个字符.

这意味着String长度可能小于等效的char []长度.

但事实并非如此.

Character x = new Character((char) 7000);
String s = new String(""+x+x+x);

byte [] ar =  s.getBytes();
char [] arr =  s.toCharArray();
Run Code Online (Sandbox Code Playgroud)

字节数组的长度为9.
字符数组的长度为3.
所以char的大小如何为2字节?

所以我认为java中的char可能大于2个字节,具体取决于需要是否正确.

如果是这样,java中char的最大大小是多少?或者它是可变长度,将来可能会达到无穷大?

java utf-16 char utf character-encoding

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

Delphi tidhttp编码特殊字符

我已将应用程序从D2007升级到XE6.它将数据发布到网络服务器.

我无法确定哪些编码将正确发送左右引号字符(下面的代码片段).我已经尝试了我能找到的每个选项,但是它们?在发送时被编码(就我在WireShark中看到的那样).

D2007没有问题,但XE6完全是关于Unicode的,我不确定问题是编码还是代码页或什么.

  Params := TIdMultipartFormDataStream.Create;
  params.AddFormField('TEST', 'Test ‘n’ Try', 'utf8').ContentTransfer := '8bit';
  IdHTTP1.Request.ContentType := 'text/plain';
  IdHTTP1.Request.Charset := 'utf-8';
  IdHTTP1.Post('http://test.com.au/TestEncoding.php', Params, Stream);
Run Code Online (Sandbox Code Playgroud)

delphi http-post character-encoding

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

UnicodeEncodeError:'charmap'编解码器无法编码字符'\ u2264'

  • 我在Windows7和Django 1.9中使用python3.6
  • 运行代码时出现此错误。
  • 在我的代码中,我正在解析xml数据以编写一个html页面。
  • 我知道某个字符无法正确编码,这就是为什么它抛出错误。
  • \u2264 这是字符(小于或等于),这是错误的根本原因。
  • 我的问题是如何在python3中正确编码

详细错误日志:

Traceback (most recent call last):
  File "C:\Dev\EXE\TEMP\cookie\crumbs\views.py", line 1520, in parser
    html_file.write(html_text)
  File "C:\Users\Cookie1\AppData\Local\Programs\Python\Python36-32\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2264' in position 389078: character maps to <undefined>
Run Code Online (Sandbox Code Playgroud)

python django unicode character-encoding python-3.x

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

将大量UTF8字节写入文件会导致大量膨胀

所以我最近在玩,并试图生成一个1GB的文件.

StreamWriter writer = new StreamWriter(@"C:\Users\parsonsj\Desktop\data.dat");
Encoding utf8enc = UTF8Encoding.UTF8;

for (int i = 0; i < 1073741824; i++) {
    writer.Write(utf8enc.GetBytes("#"));
}
writer.Close();
Run Code Online (Sandbox Code Playgroud)

我的想法是,因为UTF8字符是1字节而1GB是大约1,073,741,824字节,所以写入单个UTF8字符1,073,741,824次将导致大约1GB的文件大小.

我运行了我的小程序,正如预期的那样,它开始放慢速度并减少记忆.我最终过早杀了它,然后检查文件大小,好奇我有多远.令我惊恐的是,该文件高达13GB.

我不确定它是如何变大的.也许我编码错了.也许存在某种与内存泄漏相关的疯狂错误.我只是困惑.

为什么我的文件太大了?我误解了编码或数学吗?

c# utf-8 character-encoding streamwriter

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

我有十六进制转储中的数据,但不知道编码.例如.0x91 0x05 = 657

我在hexdump代码中有一些数据.左手是DEC,右手是hexdump代码.

16 = 10
51 = 33
164 = A4 01
388 = 84 03
570 = BA 04
657 = 91 05
1025 = 81 08
246172 = 9C 83 0F
Run Code Online (Sandbox Code Playgroud)

如何计算到DEC的任何hexdump?在perl中,我尝试使用ord()命令但不起作用.

更新 我不知道它叫什么.它看起来像7bits数据.我尝试在excel中构建公式,如下所示:

DEC = hex2dec(X) + (128^1 * hex2dec(Y-1)) + (128^2 * hex2dec(Z-1)) + ...
Run Code Online (Sandbox Code Playgroud)

perl encoding hexdump decode character-encoding

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

我可以破坏[] byte和字符串之间的数据转换吗?

在Go中,如果我从字符串-> [] byte转换,或者相反,从[] byte->字符串转换,数据是否可能会损坏。例如,假设我已定义:

fooBytes := []byte(fooString)
fooConvertedBack := string(fooBytes
fooBytesConvertedBack := []byte(fooConvertedBack)
Run Code Online (Sandbox Code Playgroud)

然后我们可以得到数据损坏的情况:

fooString != fooConvertedBack
fooBytes != fooBytesConvertedBack
Run Code Online (Sandbox Code Playgroud)

我猜这里的答案是否定的。我正在使用字节的随机数组,因此我想确保不会破坏数据,因为例如golang字符串具有默认字符集,该字符集不允许完全随机的字节。

base64编码字节更好吗?

string utf-8 character-encoding go slice

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

@EnableWebMvc annotation changes response encoding

By default, my Spring Boot application responds to any request with the following Content-Type headers:

Content-Type: text/html;charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

I believe this has been so from the beginning and I would like to keep it this way.

However, by making a simple change and only adding @EnableWebMvc to my @SpringBootApplication annotated class, the charset attribute is changed:

Content-Type: text/html;charset=ISO-8859-1
Run Code Online (Sandbox Code Playgroud)

And so the UTF-8 encoded content of the response is displayed incorrectly on the website.

spring spring-mvc character-encoding http-headers spring-boot

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