在C#中对mysqlbinlog进行解码
mySQL将数据库的所有更改保存在称为二进制日志的二进制文件中. MySQL提供了一个称为MySQLBINLOG的解码器来解码这些文件.我以为如果我想直接从应用程序中解析此日志文件,那么我需要找到一种使用C#解码的方法. 我知道我是否有特权,我可以使用show binlog事件.但是,解析文件对我来说是一个更好的解决方案. 你们中的任何人以前做过吗?有什么建议吗? 解决方案 查看 - 工具代码可能很有用.此外,该工具的依赖项可用其他解决方案 由于我不是C ++专家,并且要花很多时间才能找出Tuergeist建议的代码,所以我选择了另一种方法. 由于已经提供了mysqlbinlog,为什么不使用它? 我可以使用二进制索引获取所有日志文件 使用Processstartinfo将文件名传递到方法以读取MySqlBinlog的输出 然后可以将输出解析为数组. 我还没有测试过,但是我正在研究它...
18 2024-04-26
编程技术问答社区
如何对非Ascii字符进行编码和解码?
我正在开发一个我想编码西班牙文本的应用程序. 但是问题是,它没有编码á,é,妮,Ó,ú,ü,ü,á,é,妮,ü,f,ü,ü,ñ,ñ等特殊字符. 我该怎么做?我想编码西班牙文本. 解决方案 好吧,我要回答自己的问题,希望它对某人有帮助;在给定的字符串中打印西班牙语或任何其他非ASCII字符将所有非ASCII字符替换为其Unicode Escape字符集 例如,\ u00e1 repalceá 然后只需打印字符串. 即 string str="árgrgrgrááhhttá"; str=str.Replace("á", "\u00e1"); 其他解决方案 用于使用简单UTF-8编码encode/decode的国际支持,您的数据就足够了. Utf-8有能力以一个字节,普通的ascii和具有2个字节的Unicode字符读取ASCII.因此,它可以在必要时"缩小". 有关完整的C#文档查看 utf-8> utf-8 编辑 Encoding en
12 2024-04-24
编程技术问答社区
在dotnet core中对一个带有密码和盐的字符串进行编码和解码
我一直在为Dotnet Core的简单助手处理,该核心应该根据用户提供的密码(键)和盐进行编码和解码字符串. 与完整的.NET框架矛盾,当前的Dotnet Core没有RijndaelManaged类实现. C#的每个体面的加密/解密示例几乎都是基于此类的,对Dotnet Core毫无用处.在然而,与(旧) MSDN上的文章和特洛伊·亨特(Troy Hunt)的文章 - 更不用说一些重构了 - 我能够酿造以下 semi -working示例: internal class CryptographyHelpers { internal static string Decrypt(string password, string salt, string encrypted_value) { string decrypted; using (var aes = Aes.Create()) {
6 2024-04-22
编程技术问答社区
将UTF-8字符串解码为Windows-1256
我使用此代码将UTF-8字符串编码为Windows-1256字符串: string q = textBox1.Text; UTF7Encoding utf = new UTF7Encoding(); byte[] winByte = Encoding.GetEncoding(1256).GetBytes(q); string result = utf.GetString(winByte); 此代码正常工作,但我无法解码结果或编码为原始字符串! 在转换之前(Q变量)之前,我如何将编码的字符串(结果变量)解码为同一? ? 解决方案 您正在错误地转换字符串. 请查看下面的评论代码.评论说明了什么问题以及如何正确地做到了,但是基本上发生的事情是: 首先,您使用Encoding.GetEncoding(1256).GetBytes(q)将字符串(是UTF16)转换为ANSI CodePage 125
18 2024-04-21
编程技术问答社区
最快的.NET PNG解码器
我们的Web服务器需要在将结果发送给Web客户端之前将大型图像的许多组成处理在一起.此过程至关重要,因为服务器每小时可以接收数千个请求. 现在,我们的解决方案从HD加载PNG文件(每个大约1MB),并将其发送到视频卡,以便在GPU上完成构图.我们首先尝试使用XNA API暴露的PNG解码器加载图像.我们看到表演不太好. 要了解问题是从HD加载还是PNG的解码,我们通过将文件加载到存储器流中,然后将该内存流发送到.NET PNG解码器来修改.使用XNA或使用System.windows.media.imaging.pngbitmapdecoder类的性能差异并不显着.我们大致获得了相同的性能. 我们的基准显示以下性能结果: 来自磁盘的加载图像:37.76ms 1% 解码PNG:2816.97ms 77% 视频硬件上的加载图像:196.67ms 5% 作曲:87.80ms 2% 视频硬件获得构图结果:166.21ms 5% 编码到PNG:318.13ms 9
10 2024-04-17
编程技术问答社区
将unicode转换为实际字符 C#
我有一个字符串"我正在使用的一些字符串,但是偷猎者\ u2019s显示了Unicode!"我试图将Unicode转换为"字符". 解决方案 类似的东西应该起作用: string text = "Some string that I am using but Poacher\u2019s shows unicode!"; byte[] textBytes = Encoding.Unicode.GetBytes(text); Encoding.UTF8.GetString(Encoding.Convert(Encoding.Unicode, Encoding.UTF8, textBytes)); 请参阅 encoding MSDN上的课程.
12 2024-04-16
编程技术问答社区
如何解码一个编码的HttpWebResponse?
我有这个代码可以从URL获取页面html,但是响应内容看起来已编码. 代码: HttpWebRequest xhr = (HttpWebRequest) WebRequest.Create(new Uri("https://www.youtube.com/watch?v=_Ewh75YGIGQ")); xhr.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; //xhr.CookieContainer = request.Account.CookieContainer; xhr.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; xhr.Headers["Accept-Encoding"] =
16 2024-04-15
编程技术问答社区
.NET将Hex值的字符串转换成Unicode字符(支持不同的代码页)
我有一串十六进制值... String hexString = "8A65"; 我需要将此字符串转换为他们的Unicode等效物.棘手的部分是我需要支持不同的代码页面,并且某些代码页面具有'8a65'=一个字符,而其他代码页则将其转换为两个字符. 我不知道要使用哪个代码页面,直到我需要执行转换为止. 我尝试了各种类型的东西,例如 byte[] original = Encoding.Unicode.GetBytes(hexString); byte[] conv= Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding(932), orig); char[] chars = Encoding.GetEncoding(932).GetChars(conv); 注意:代码第932页是日语 解决方案 string hexString = "8A65"; int length = hexStrin
14 2024-04-12
编程技术问答社区
如何允许在asp.net的文本框中提交HTML标签?
首先,我想让所有人都知道我正在使用aspx引擎而不是剃须刀. 我有一个表格中的表.我的文本框之一包含HTML标签,例如 Phone: 814-888-9999 Email: aaa@gmail.com. 当我去构建时,它给了我一个错误,上面写着: 从客户端>. 我尝试了验证请求=" false",但它不起作用. 很抱歉,我没有添加我的HTML代码供您查看.如果需要的话,我会提出一些问题. Edit
10 2024-04-12
编程技术问答社区
用联合和位移读取双数到平台的字节数,安全吗?
我见过的所有示例都在读取从缓冲区到平台的两倍的endianness,涉及检测当前平台的endianess并在必要时执行字节交换. 另一方面,除了使用位移动的整数()一个这样的示例). 这让我认为可以使用工会和Bitshift技术从缓冲区读取双打(和浮动),并且快速测试实现似乎有效(至少在X86_64上使用Clang): #include #include #include double read_double(char * buffer, bool le) { union { double d; uint64_t i; } data; data.i = 0; int off = le ? 0 : 7; int add = le ? 1 : -1; for (int i = 0; i
8 2024-04-08
编程技术问答社区
如何在C语言中解码q-编码?
有Q编码的库吗?我需要解码一些Q编码的文本,例如: **Subject: =?iso-8859-1?Q?=A1Hola,_se=F1or!?=** 解决方案 " q" - 编码由其他解决方案 不确定Q编码库,找不到任何. 不过, 请注意,您的后一个示例看起来不像Q编码,请注意,charset(" UTF-8")之后的字符不是'q',而是a'b'.这意味着它的base64编码,其中有很多库,是一个例子. 请参阅 Mime 在Wikipedia上,有关如何检测到哪个编码的详细信息 其他解决方案 电子邮件主题是根据RFC 2047编码的.我们可以使用gnu mailutil提供的功能mu_rfc2047_decode()来解码. 示例: #include #include #include #include ... char ci
16 2024-04-08
编程技术问答社区
如何在libavcodec中设置解码像素格式?
我使用以下代码通过libavcodec解码视频: //Open input file if(avformat_open_input(&ctx, filename, NULL, NULL)!=0) return FALSE; // Couldn't open file if(avformat_find_stream_info(ctx, NULL)nb_streams; i++) { if((ctx->streams[i])->codec->codec_type==AVMEDIA_TYPE_VIDEO) { videoStream=i; break; } } if (videoStream
12 2024-04-08
编程技术问答社区
如何在C语言中向文件写入单比特
我正在编程熵编码算法,我想将单个位(例如编码字符)写入文件.例如,我想将011写入文件,但是如果您将其存储为字符,则需要3个字节而不是3位.因此,我的最后一个问题是:如何将单位写入文件? 预先感谢! 解决方案 您不能将单个位写入文件,分辨率是单个字节. 如果您想按顺序编写位,则必须将它们批量批量,直到拥有完整的字节,然后写下. psoudo代码(尽管Clie)是沿着: 的线 currbyte = 0 bitcount = 0 def writeBit (bit): currbyte = currbyte
16 2024-04-06
编程技术问答社区
我如何将解析过的 CS:GO 十字架代码对象重新编码为字符串表示?
我有一个函数解码CS:将Crosshair代码转到钥匙值对象. (以前我问了如何从CS解码共享代码的问题: 如何将其从解码这些值,将它们编码为由字母数字字符组成的"共享代码"? 功能解码共享代码: const BigNumber = require("bignumber.js"); // Intentionally no 0 and 1 number in DICTIONARY const DICTIONARY = "ABCDEFGHJKLMNOPQRSTUVWXYZabcdefhijkmnopqrstuvwxyz23456789"; const DICTIONARY_LENGTH = DICTIONARY.length; const SHARECODE_PATTERN = /CSGO(-?[\w]{5}){5}$/; const bigNumberToByteArray = big => { const str = big.toString(16).padS
12 2024-04-05
编程技术问答社区
请求返回字节,但我无法对其进行解码
本质上,我向网站提出了请求,并收回了一个字节响应:b'[{"geonameId:"703448"}..........'.我很困惑,因为尽管它是类型的字节,但它是非常人性化的,看起来像JSON的列表.我确实知道该响应是从返回ISO-859-1的运行r.encoding中编码的latin1中,我尝试将其解码,但它只是返回一个空字符串.这是我到目前为止所拥有的: r = response.content string = r.decode("ISO-8859-1") print (string) 这是打印空白行的地方. 但是,当我运行 时 len(string) 我得到:返回31023 如何在不返回空字符串的情况下解码这些字符? 解决方案 您是否尝试用json模块对其进行解析? import json parsed = json.loads(response.content) 其他解决方案 另一个解决方案是使用响应.文本,它返回Unicode中的内容
14 2024-04-05
编程技术问答社区
在Camera.onPreviewFrame中,将byte[]转换为图像。
尝试将Camera.onPreviewFrame的byte[]转换为Bitamp使用BitmapFactory.decodeByteArray给我一个错误SkImageDecoder::Factory returned null 以下是我的代码: public void onPreviewFrame(byte[] data, Camera camera) { Bitmap bmp=BitmapFactory.decodeByteArray(data, 0, data.length); } 解决方案 我很长时间后找到了答案.这里是... 而不是使用BitmapFactory,而是使用自定义方法将此byte[] data解码为有效的图像格式.要将图像解码为有效的图像格式,需要通过调用 camera.getParameters().getPictureFormat() .这返回由在我的情况下,byte[] data是YUV格式,所以我寻找YUV到BMP转换,这解
16 2024-04-05
编程技术问答社区
用setImageBitmap替换对setImageResource()的调用,以减少打嗝现象?
Android的 这确实在UI线程上进行了位图读取和解码,可以 引起延迟打ic.如果这是一个问题,请考虑使用 setimagedrawable(android.graphics.drawable.drabable)或 setImageBitMap(android.graphics.bitmap)和bitmapfactory. 我希望在我的示例应用程序中解决这个确切的问题.我认为我应该在这里"在线之间阅读",然后从以下方式替换我的电话: ((ImageView) rootView.findViewById(R.id.screen_image)).setImageResource(imageId); 改用 InputStream is = this.getResources().openRawResource(imageId); Bitmap imageBitmap = BitmapFactory.decodeStream(is); ((ImageView) root
14 2024-03-31
编程技术问答社区
安卓系统如何用BitmapFactory选项来缩放一个图像
我想用bitmapfactory.decodefile(路径,选项)从SD卡解码图像. 我还希望将大于2048x2048像素大于2048x2048的图像(维持比例). 获得位图后,我可以手动执行此操作,但是除了已经分配的字节外,还需要分配大量字节. 我应该如何设置我的bitmapfactory.options对象以获得该效果? 谢谢 解决方案 使用 a>首先加载图像以使大小尽可能接近目标大小时,然后使用Bitmap.createScaledBitmap缩放到所需的确切大小. 在中有一些代码 其他解决方案 从Options中的设置inJustDecodeBounds开始,这将为您提供图像的大小,而无需加载任何图像数据. 如果图像大小较小,则最大尺寸,然后像往常一样加载. 另一方面,如果它太大,请使用 inSampleSize inSampleSize 阅读较小的位图. 注意:我认为使用insamplemplassize时解码不会进行任何过滤,因此您可能会
6 2024-03-31
编程技术问答社区
从GPS追踪器获取不可读的字符串
我从GPS跟踪设备中获取此不可读的字符串,我需要解码这些信息,以便我可以在应用程序(C#)中使用它. $A grQ05Ah@‘)���ÿÿûÿÿ����°#~À‚¡U 但实际上我期望的是下面的类似: *HQ,XXXXXX,41,4#V1,time,A,**Lat**,N/S,**Lng**,W/E,000.00,000,date,FFFFFBFF,432,35,32448,334 如何将字符串转换为c#? 中的标准格式 i如您所见,将数据转换为字节: 24-41-20-20-67-72-51-30-35-41-68-40-91-29-3F-3F-3F-FF-FF-FB-FF-FF-3F-3F-3F-3F-B0-23-7E-C0-82-A1-55 解决方案 它确实是一些二进制信息,如果您清楚地读取了产品手册,则说明了这种二进制文件. 将数据转换为十六进制将提供类似的东西. 24-41-20-20-67-72-51-30-35-41-68-4
16 2024-03-30
编程技术问答社区
在不知道结构的情况下用python读取二进制文件
我有一个包含8000个颗粒位置的二进制文件. 我知道每个粒子值应该看起来像" -24.6151 ..."(我不知道我的程序给出了哪个值.我猜这是双重精度(?). 但是,当我尝试使用此代码读取文件时: In: with open('.//results0epsilon/energybinary/energy_00004.dat', 'br') as f: buffer = f.read() print ("Lenght of buffer is %d" % len(buffer)) for i in buffer: print(int(i)) 我作为输出: Lenght of buffer is 64000 10 168 179 43 ... 我跳过了整个值列表,但是您可以看到这些值远离我的期望.我想我有某种解码错误. 我很感谢任何帮助:) 解决方案 您现在正在打印的是bytes组成浮点数据.因此,它
20 2024-03-30
编程技术问答社区