如何读取含有特殊字符的ANSI编码文件
我正在编写TFS检查策略,该策略检查我们的源文件是否包含我们的文件标头. 我的问题是,我们的文件标头包含一个特殊的字符"©",不幸的是,我们的一些源文件已在ANSI中编码. 因此,如果我在策略中读取这些文件,则字符串看起来像"版权"�2009. string content = File.ReadAllText(pendingChange.LocalItem); 我厌倦了更改字符串的编码,但这无济于事.那么,我该如何读取这些文件,我得到正确的字符串"版权©2009"? 解决方案 使用Encoding.Default: string content = File.ReadAllText(pendingChange.LocalItem, Encoding.Default); 您应该知道,使用系统默认编码将其读取 - 可能与文件的编码不同.没有单个编码称为ANSI,但是通常当人们谈论" ANSI编码"时,它们的意思是Windows Code Page 1252
10 2024-04-13
编程技术问答社区
读取和写入ANSI格式的文本
请查看以下代码 import java.io.*; public class CSVConverter { private File csvFile; private BufferedReader reader; private StringBuffer strBuffer; private BufferedWriter writer; int startNumber = 0; private String strString[]; public CSVConverter(String location, int startNumber) { csvFile = new File(location); strBuffer = new StringBuffer(""); this.startNumber = startNumber; //Read
22 2024-04-04
编程技术问答社区
JavaScript的blob编码为UTF-8而不是ANSI
我使用JavaScript Blob创建一个FDF文件,该文件打开并填充本地存储的PDF. 但是,到本地存储的PDF的文件路径包含一个重音字符(我无法编辑文件夹名称). 当文件夹路径不包含重音时,并且如果我在记事本中打开FDF时,则此代码可行,默认编码为ANSI.但是,当文件夹路径包含重音时,FDF会打开消息,说明找不到PDF.此外,记事本中的默认编码已更改为UTF-8. FDF_Text = '' + '%FDF-1.2' + "\n" + '1 0 obj>>>' + "\n" + 'endobj' + "\n" + '2 0 obj[' + "\n" + '>' + "\n" + ']' + "\n" + 'endobj' + "\n" + 't
44 2024-04-01
编程技术问答社区
将Javascript的BLOB编码改为ANSI而不是UTF-8
我想知道是否可以使用JavaScript保存一个简单的TXT文件,并使用ANSI编码保存Blob. 此刻,我有一个脚本,该脚本可以创建一个带有CRLF行末尾的TXT文件,但使用UTF-8编码. 是否可以使用ANSI编码保存它?我需要这以在需要ANSI而不是UTF-8的"旧" Windows程序上导入TXT文件. 这是我使用的示例: https://jsfiddle.net.net/uselesscode/qm5ag/ let textFile = null; function makeTextFile () { let text = `Some text with nice line endings\nand special characters like é and ü.`; const data = new Blob([text], { type: "text/plain", endings: "native"
14 2024-04-01
编程技术问答社区
批量文件中的ANSI/Unicode冲突
我有一些批处理文件,这些文件使用文本文件无关.直到昨天一切都很好...但是后来我开始将标准文本翻译成荷兰语和德语.两种语言都使用了所谓的音位或重音字符,例如ä,ë,Ö.我认为西班牙语会给ñ带来同样的问题.我使用Notepad使用标准编码(即ANSI)创建了文本文件.仅键入(DOS:type)文件显示错误的重音字符:例如显示为ù.在我编辑文本文件并使用编码DOS类型的Unicode保存后,请完全显示我在记事本中键入的内容.在这一点上,我认为我的问题已经解决了...但是我的批处理代码现在根本没有任何文字!所有文本都是通过看起来像这样的批处理文件从文件中检索的(简化): @rem Parms %1 text type number File %%a program name @rem %2 program name (double quoted) %%b - - filler (tabs) @rem %3 text number
14 2024-03-29
编程技术问答社区
ImportError: cannot import name 'BlockBlobService' from 'azure.storage.blob';
我正在尝试将Azure Blob容器中的文本文件从ANSI转换为UTF-8编码,而无需使用Python在本地下载文件.当我尝试在Python代码中导入 BlockBlobService 以处理Azure Blob存储时,我会遇到以下错误.我相信我已经安装了正确的Python模块,但是可能还有其他一些我不知道的模块,或者可能"没有正确的Python模块版本". " PIP列表"命令在我的VM上显示以下内容.对此的任何帮助都很好. pip列表 软件包版本 azure-common 1.1.25 azure-core 1.4.0 azure-nspkg 3.0.2 azure-storage 0.36.0 azure-storage-blob 12.3.0 azure-storage-common 2.1.0 azure-storage-nspkg 3.1.0 bcrypt 3.1
12 2024-03-24
编程技术问答社区
如果我将ANSI编码的文件转换为UTF-8,会出什么问题?
我有一个现有的ASP.NET 2.0网站,该网站存储在Team Foundation Server 2005中.一些页面/控件被编码为ANSI(根据记事本++),并且内容型标头设置为: 我想将所有页面更改为UTF-8,因此内容类型的标题为: 更改元元素,我假设我还需要更改所有文件的编码.我可以在记事本++中执行此操作,尽管如果有人使用任何更快的方法,请提及它们. 在TFS中合并/比较时,我可能会遇到什么样的问题? 解决方案 这取决于代码库中的文本中的数量是在ASCII范围以外的0..127. 之外的字符. 您可能想先扫描这些人,以查看它将产生的影响.如果您的代码
26 2024-03-10
编程技术问答社区
Unicode、UTF、ASCII、ANSI格式差异
Unicode,UTF8,UTF7,UTF16,UTF32,ASCII,ASCII和ANSI编码是什么区别? 这些对程序员有什么帮助? 解决方案 沿着您的列表下降: " unicode "不是编码它是指默认使用该特定系统使用的任何Unicode.在Windows和Java上,这通常意味着UTF-16;在许多其他地方,这意味着UTF-8.正确地,Unicode是指抽象字符集本身,而不是任何特定的编码. utf-16 :2个字节每个"代码单元".这是.NET中的字符串的本地格式,通常是Windows和Java中的字符串格式. 基本的多语言平面(BMP)被编码为替代物.这些过去相对较少使用,但是现在,许多消费者应用程序都需要了解非BMP字符以支持表情符号. utf-8 :可变长度编码,每个代码点1-4个字节. ASCII值使用1个字节编码为ASCII. utf-7 :通常用于邮件编码.如果您认为您需要它并且不在做邮件,那么您错了. (这只是我在新闻组等上发布的人们的经
12 2024-03-07
编程技术问答社区
什么是ANSI格式?
什么是ANSI编码格式?是系统默认格式吗? 它与ASCII有什么不同? 解决方案 ANSI编码是一个稍有通用的术语,用于参考系统(通常是Windows)上的标准代码页面.它更恰当地称为 Windows-windows-11252 在西方/美国.系统. (它可以代表某些其他 Windows Code Pages 在其他系统上.) =" http://en.wikipedia.org/wiki/extended_ascii" rel =" noreferrer"> ascii字符集的扩展,因为它包含所有带有其他128个字符代码的ASCII字符.这种差异是由于" ANSI"编码为8位而不是7位,因为ASCII为(如今,ASCII几乎总是编码为8位字节,均为8位字节, msb 设置为0).有关为什么通常称此编码为ANSI的解释,请参见文章. 名称" ANSI"是一个错误的名称,因为它与任何实际的ANSI标准不符,但名称已卡住. ANSI与UTF-8不同. 其他解决方案 从技
20 2024-03-07
编程技术问答社区
Javascript将ansi转换为utf8
我正在尝试使用此插件jquery.csvtototable可以显示从CSV到网页的数据,CVS文件已用日语编码ANSI,但是网页已编码UTF8,而JS不使用ANSI,如何进行转换.或者如果存在另一种方法数据$.get(csvFile, function(data) { to utf8的数据,对不起,我的英语不好,非常感谢! 解决方案 在处理JavaScript中的字符串时,您正在处理UTF-16.取决于浏览器,以确保它传递给JavaScript层的任何数据已正确转换. 在这种情况下,因为您使用的$.get,这意味着Ajax层必须知道它正在处理的内容.您需要确保您的服务器在包含CSV文件的HTTP响应中返回正确的Charset信息,因此浏览器知道字符数据所在的格式.完成此操作后,浏览器应进行任何必要的转换从原始到JavaScript的UTF-16. 具体来说,如果您的CSV文件在字符集中Content-Type: text/csv; charset=windows-12
128 2024-01-14
编程技术问答社区
如何简单地使用DIR列出文件夹的所有文件,然后使用UTF-8编码进行文本?
简单的问题: 在Windows 10上,我找到了一个快速而肮脏的解决方案,可以简单地将所有文件的名称保存在文件夹中: 创建文本文件 键入并保存dir > 1.txt 将.txt文件重命名为.bat 运行它.完成. 但是,该创建的文本文件是在ANSI编码中,因此不会显示某些字符... 在运行它之前,我可以在BAT文件中添加一个简单的脚本以使生成的文本编码为UTF-8? 解决方案 您应该在dir命令之前添加此命令chcp 65001将代码页更改为UTF-8 @echo off CHCP 65001>nul dir>1.txt 进一步阅读 chcp command command 其他解决方案 这对我有用: PowerShell -Command "TREE /F | Out-File output.txt -Encoding utf8"
14 2023-12-07
编程技术问答社区
WinAPI Unicode和ANSI函数
大多数winapi调用都有Unicode和ANSI函数调用 例如: function MessageBoxA(hWnd: HWND; lpText, lpCaption: LPCSTR; uType: UINT): Integer; stdcall;external user32; function MessageBoxW(hWnd: HWND; lpText, lpCaption: LPCWSTR; uType: UINT): Integer; stdcall; external user32; 我什么时候应该使用ANSI函数而不是调用Unicode函数? 解决方案 最简单的规则是:仅在没有Unicode变体的系统上使用ANSI变体.那是在Windows 95、98和ME上,它们是不支持Unicode的Windows版本. 如今,您不太可能针对此类版本,因此,您应该始终只使用Unicode变体. 其他解决方案 就像发布评论/答案的(罕见)例外..
24 2023-12-05
编程技术问答社区
Windows API ANSI函数和UTF-8
是否可以使用UTF-8字符串使用Windows API ANSI函数? 例如,说我有一个在UTF-8中编码的路径.我可以调用CreateDirectoryA或CreateFileA并使用UTF-8路径,还是在调用功能之前必须执行一些转换? 解决方案 否.使用CreateDirectoryW或CreateFileW. 其他解决方案 接受的答案不再正确(如Windows版本1903(2019年5月更新)). 现在,应用程序可以将进程的活动代码页设置为UTF-8.这允许...A函数(和CP_ACP)与UTF-8一起使用.看起来像这样的清单
38 2023-12-04
编程技术问答社区
VB6/VBScript将文件编码改为ansi
我正在寻找一种用UTF8编码为ANSI编码的文本文件的方法. 我该如何在Visual Basic(VB6)和或VBScript中四处实现? 解决方案 如果您的文件不是真正的巨大(例如,即使仅仅是40MB也可能很慢),则可以使用vb6,vba或vbscript中的以下代码来执行此操作: Option Explicit Private Const adReadAll = -1 Private Const adSaveCreateOverWrite = 2 Private Const adTypeBinary = 1 Private Const adTypeText = 2 Private Const adWriteChar = 0 Private Sub UTF8toANSI(ByVal UTF8FName, ByVal ANSIFName) Dim strText With CreateObject("ADODB.Stream")
42 2023-11-17
编程技术问答社区
通过FTP将ANSI字符串写入Unicode文件
我具有以下Visual Basic 6.0函数,该功能将ANSI字符串写入FTP的新文件.我希望它将文件写入UTF-16LE.在以下方法中有什么好方法吗? Public Sub writeToFile(ByVal FTPServer As String _ , ByVal userName As String _ , ByVal password As String _ , ByVal contents As String _ , ByVal destinationFile As String) Dim hFile As Long Dim lCount As Long inetOpen inetConnect FTPServer, userName, password hFile = apiFtpOpen
18 2023-11-15
编程技术问答社区
如何用UTF-8字符替换ANSI字符并保存为UTF-8格式的文件?
我尝试运行此操作: (Get-Content c:\example.srt).replace('æ', 'ć') | Set-Content c:\example.srt ,但它仅用ANSI c替代字符æ. 我也想在当时更换一个以上的字符. 解决方案 您可以这样做: 在字符组中替换它们.在字符组中输入符号. Get-Content c:\example.srt |% {$_ -replace "[æ\._\.*]", "ć"} 它将用_,*替换为ć. 喜欢: Get-Date -Format G | foreach {$_ -replace "[:\./]", "_"} 希望它有帮助. 其他解决方案 您可以尝试一下.它从 windows-1252 转换为文件en.wikipedia.org/wiki/utf-8" rel =" nofollow noreferrer"> utf-8 . $ansi = [System.
24 2023-11-12
编程技术问答社区
如果文件是UTF-8的,PHP image_jpeg不工作,如果是ANSI的就工作。
我使用此类裁剪,调整我的图像大小: http://http://www.phpclasses.org/package/4268-php-resize-crop-roptate-flip-flop-flop-and-grey-images.html 它使用GD.问题是我这样做: $img = new ImageTransform; $img->view('resize', 'foo.jpg', '500x400', true); // true argument is $cache = true 现在我可以指向 ,它将显示该图像大小. 但是,如果我所有的文件都是UTF-8,则不是!只有当它们都是ANSI编码时.如果某些或所有文件是编码UTF-8,则该图像根本不会显示. 如果我删除标头..然后让它打印所有内容...我可以看到所有有趣的角色...所以它正在打印一些东西! 但这只是不会用标头打印实际图像.
26 2023-11-12
编程技术问答社区
在 UTF-8 中表示法相同的两个单词,在 ASCII 中的表示法却不同
我有一个farsi单词,如果在UTF-8编码中显示的是这样: "خطاب" 我有两个版本的这个词,在UTF-8中的记事本++中均显示如上. 但是,如果我以ANSI模式看它们,那么我会看到: ïºïºŽï»„ﺧ ,对于另一个,我看到: خطاب 同一单词如何以ANSI格式具有如此不同的表示?当我在Python中使用PIL绘制这些绘制时,结果是其中之一正确而对另一个的正确性. 我感谢对此的任何帮助. 解决方案 在Unicode中,您可以以多种方式表示某些字符. 在这种情况下,这些阿拉伯语字符由阿拉伯语block 第二种情况. 如果转换文本 !„„„ 到字节流,您得到 efba 请注意,您没有在上面的文本中看到代表0F字节的字符,因为它是一个非视觉字符. 现在,字节流表示UTF-8编码的文本.解码它将为您提供以下Unicode代码点: fe8f fe8e fec4 fea7 您可以在阿拉伯语
14 2023-11-12
编程技术问答社区
在任何时候,用UTF-8编码的文本都不会给我们带来比用UTF-16编码的相同文本多50%的文件大小。
我读过的某个地方(重新播放): 如果我们比较UTF-8编码文件与UTF-16编码文件,则有时会给UTF-8文件提供50%至100%较大的文件大小 我可以说这篇文章是错误的在UTF-16中编码的相同文本? 解决方案 答案是,在UTF-8中,ASCII只是1个字节,但是通常,包括英语在内的大多数西方语言在此处和那里使用几个需要2个字节的字符,因此实际百分比各不相同.当在UTF-8中编码时,希腊语和西里尔语言在其脚本中至少需要每个字符2个字节. 公共的东方语言需要其角色3字节在UTF-8中,但UTF-16中的2个字节.但是请注意,"罕见"的东部字符在UTF-8和UTF-16中都需要4个字节. 3的确仅大于2.但这仅适用于单个代码点.它不适用于整个文件. 实际百分比不可能精确说明,因为您不知道代码的平衡是在1或2字节UTF-8范围内还是在4字节UTF-8范围内指向.如果亚洲文本中有空白,那只是UTF-8的字节,但是它是UTF-16的昂贵2个字节. 这些
20 2023-11-11
编程技术问答社区
PHP-如何用ANSI编码保存文本文件?
我正在做: file_put_contents("txt/myfile.txt", $fileContents); 我尝试过多种方法来强制文本文件成为ANSI,例如: $fileContents = mb_convert_encoding($fileContents , mb_detect_encoding($fileContents , mb_detect_order(), true), 'WINDOWS-1252'); 我也尝试了: $fileContents = iconv("ISO-8859-1", "WINDOWS-1252", $fileContents ); 我需要ANSI,因为当我使用MS-DOS的" type"命令(Windows 7中的cmd.exe)打开文本文件时,应该看起来不错. 如果打开当前文件,我可以看到UTF-8 BOM: c:\ users \ xxx>类型C:\ myfile.txt ´╗┐v0176699
26 2023-11-11
编程技术问答社区