小编JMK*_*JMK的帖子

如何解码从Base64到字节数组的文本字符串,以及获取此字节数组的字符串属性而不会损坏数据

好吧,我有一串文字,用Base 64编码,如下所示:

string myText = "abcBASE64TEXTGOESHEREdef==";  // actual string is 381 characters long with trailing '=='
Run Code Online (Sandbox Code Playgroud)

然后我将我的字符串从Base 64转换为字节数组,如下所示:

byte[] decodedFromBase64 = Convert.FromBase64String(myText);
Run Code Online (Sandbox Code Playgroud)

此时,我想获取此字节数组的字符串值,并将其保存在文本文件中,而不会丢失数据或损坏.下面的代码似乎没有这样做:

string myDecodedText = Encoding.ASCII.GetString(decodedFromBase64);
StreamWriter myStreamWriter = new StreamWriter("C:\\OpenSSL-Win32\\bin\\textToDecrypt.txt");
myStreamWriter.Write(myString);
myStreamWriter.Flush();
myStreamWriter.Close();
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我哪里出错了.

编辑:输出不可读,我需要获取解码后的字符串然后使用OpenSSL解密它.输出和OpenSSL的结果如下:

产量

OpenSSL的

.net c# base64 openssl

13
推荐指数
2
解决办法
4万
查看次数

ReSharper试用期结束后恢复智能感知

我有一个ReSharper的C#许可证,不久前Jetbarins给了我一个许可证密钥,用于ReSharper完整的30天试用.这已经过期了,我已经回到了ReSharper C#,因此完全失去了VB intellisense.

如何从Visual Studio中恢复正常的VB.Net intellisense?有没有办法在不重置所有Visual Studio设置的情况下执行此操作(我已经更改了许多设置,不希望必须再次更改它们).

intellisense visual-studio-2012

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

C# - 垃圾收集

好的,所以我理解堆栈和堆(堆栈上的值,堆上的引用).

当我声明一个类的新实例时,它会存在于堆上,并在堆栈的内存中引用此点.我也知道C#是自己的垃圾收集(即它确定何时不再使用实例化的类并回收内存).

我有两个问题:

  1. 我对垃圾收集的理解是否正确?
  2. 我可以自己做吗?如果是这样,我自己做这件事有什么好处,或者我应该离开它.

我问,因为我在For循环中有一个方法.每次循环时,我都会创建一个新类的实例.在我的脑海中,我把所有这些课程都放在一堆,没有做任何事情,只是占用记忆,我想尽快摆脱它们以保持整洁!

我是正确理解这个还是我错过了什么?

c# heap stack

12
推荐指数
3
解决办法
2万
查看次数

Angularjs TemplateUrl路由出错404错误

我正在学习本教程,尝试在我的MVC3应用程序中安装SPA,其中SPA由控制器DemoController.cs调用.

当应用尝试通过导航栏加载不同的模板(about.html,contact.html和home.html)时,我收到404错误.

这是我的目录结构(不包括MVC3应用程序的其余部分):

Scripts
-script.js 
Views
-Demo
--pages
---about.html
---contact.html
---home.html
--Index.cshtml
--_ViewStart.cshtml
Run Code Online (Sandbox Code Playgroud)

这是我的script.js文件,我在其中定义路由.

// create the module and name it scotchApp
var scotchApp = angular.module('scotchApp', []);

// configure our routes
scotchApp.config(function ($routeProvider) {
$routeProvider

    // route for the home page
    .when('/', {
        templateUrl: 'pages/home.html',
        controller: 'mainController'
    })

    // route for the about page
    .when('/about', {
        templateUrl: 'pages/about.html',
        controller: 'aboutController'
    })

    // route for the contact page
    .when('/contact', {
        templateUrl: 'pages/contact.html',
        controller: 'contactController'
    });
});

// create the …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc-3 angularjs

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

是Jetbrains dotPeek给我一个关于我的代码的警告吗?

我正在看一些我自己的代码,我用dotPeek反编译.

我一直看到这个:

// ISSUE: method pointer
Run Code Online (Sandbox Code Playgroud)

这是什么意思?这是为了通知我代码的问题吗?

谢谢

.net decompiling dotpeek

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

禁用Edge中的输入文本建议?

我已经构建了一个文本框下拉列表AngularJS组件,它在Chrome,Firefox,Safari和Internet Explorer中运行良好.

此组件的一个功能是您键入一个字符串,然后可以使用向上/向下箭头键滚动查看建议.

在Microsoft Edge中,只要按下向下箭头,就会在输入框中添加以下文本:

简要说明您的更改(更正的拼写,固定的语法,改进的格式)

有什么我可以做客户端来阻止这种情况发生吗?

<form>
    <input type="text" />    
</form>
Run Code Online (Sandbox Code Playgroud)

要演示这一点,请运行上面的剪辑器,在文本框中键入内容并在Edge上按两次向下箭头.我希望这不会发生,因为它打破了我的自动完成!

谢谢

html input microsoft-edge

12
推荐指数
4
解决办法
2万
查看次数

使用RSA和DES3密钥加密和解密一串文本

我使用的是Linux命令行,我使用以下命令创建了一个私钥:

openssl genrsa -des3 -out private.pem 2048
Run Code Online (Sandbox Code Playgroud)

我从私钥中提取了公钥,如下所示:

openssl rsa -in private.pem -out public.pem -outform PEM -pubout
Run Code Online (Sandbox Code Playgroud)

我想使用公钥来加密一串文本,让我们说"foo bar",然后再次解密这个字符串.

我该怎么做?

谢谢

linux public-key-encryption

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

将运算符存储在变量中

有没有办法将运算符存储在变量中?我想做这样的事情(伪代码):

void MyLoop(int start, int finish, operator op)
{
    for(var i = start; i < finish; op)
    {
        //do stuff with i
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以像这样调用这个方法:

MyLoop(15, 45, ++);
MyLoop(60, 10, --);
Run Code Online (Sandbox Code Playgroud)

C#中是否存在类似的内容?

c# variables operators

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

TypeScript编译正常,但仍然出现智能感知错误

非常令人沮丧,我处于TypeScript编译正常的情况,但我仍然得到Intellisense错误.

这是Visual Studio 2015 Update 1中的TypeScript 1.7.

说TypeScript 1.5功能时出错. 目前的语言水平是1.4.

错误说符号组件无法正确解析,可能它位于无法访问的模块中.

当我进行更改并点击保存时,它编译得很好,底层的Javascript会更新.

有任何想法吗?

干杯

visual-studio-2015 typescript1.7

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

使用时为什么会出现内存不足错误?

我有以下方法,将a转换BitmapImageSystem.Drawing.Bitmap:

public static Bitmap BitmapImageToBitmap(BitmapImage bitmapImage)
{
    Bitmap bitmap;

    using (var ms = new MemoryStream())
    {
        var encoder = new JpegBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(bitmapImage));
        encoder.Save(ms);

        bitmap = new Bitmap(ms);
    }

    return bitmap;
}
Run Code Online (Sandbox Code Playgroud)

每当我尝试使用返回的Bitmap对象时,我都会收到以下错误:

发生OutOfMemoryException - 内存不足.

但是,每当我用这个替换代码时:

public static Bitmap BitmapImageToBitmap(BitmapImage bitmapImage)
{
    var ms = new MemoryStream();

    var encoder = new JpegBitmapEncoder();
    encoder.Frames.Add(BitmapFrame.Create(bitmapImage));

    encoder.Save(ms);

    return new Bitmap(ms);
}
Run Code Online (Sandbox Code Playgroud)

这很好用.不过,我敢肯定,我应该用作为MemoryStream对象实现IDisposable.这里发生了什么?

c# memorystream using

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