.NET 中的联合体

在C++中,有一种类型名为联合体(亦称共用体),关键字为union,它与结构十分类似,但是它所有的数值全都指向同一个指针。也就是说,当你修改联合体内的某一个数据时,其他数据也会同时改变。
这个类型的好处,在于可以存储某种不确定的数据对象,等到稍后再来分析出该对象的用途。

union MyUnion
{
    char b; //单字节整数,在c语言中用char类型来表示单字节整数
    short s; //双字节整数
    int i; //四字节整数
}
而在 .NET 中,却并没有 union 这个关键字,是不是 .NET 就无法使用联合体呢?
当然不是,否则我干嘛写这篇文章?!

- 阅读全文 -

利用 .htaccess 自动压缩 html、js、css、txt等文本数据

使用数据压缩技术,可以让服务器在传输数据之前进行简易的压缩,让客户端更快地接收数据,降低数据传输的流量。
不过这个功能仅在文本数据中比较有效,而像是图片、音视频等多媒体文件本身就已被压缩过,再压缩只是浪费服务器的运算资源而已,不建议使用!
目前主流的浏览器都支持gzip和deflate两种数据压缩算法,而在Apache里指定数据压缩功能,只需要在.htaccess写入以下代码即可。

- 阅读全文 -

最全的免费可商用中文字体的下载攻略

什么?字体居然还要收费?!

没错,你系统里安装的x正、x康、x鼎字体其实都是要收费才能使用的!
但为什么没有字体厂商来找你收费?一来因为个人用户太多、只要未涉及商用无法起诉,二来也是为了培养用户的使用习惯,将来有机会可以“碰瓷”和“薅羊毛”……

其实这么多年来,我与众多网友一样,都以为字体是由各个字体厂商免费发布出来给大家使用,仅会对商业公司收取版权费。直到前阵子知名游戏UP主敖厂长被某字体公司状告侵权,我才发现其实字体版权这个“大棒”离我们普通人是这么接近!
之后我搜集了一些关于字体版权之类的信息,赫然发现内置在Windows系统中的 微软雅黑 这个字体竟也是版权字体,而且其版权方北大方正这些年仅靠向不小心使用了微软雅黑的商家们“敲竹杠”,就能将侵权费当作公司最大的收入来源!
相关新闻:
方正诉魔兽字体侵权案将开庭 暴雪遭1亿索赔
敖厂长视频字体侵权事件
首先,字体的设计花费了制作方众多的心力,我们应该支持正版字体,使用字体进行商业用途也应该向制作方付费。
但是方正利用系统内嵌字体进行“敲竹杠”的行为,我个人还是觉得十分不妥!
所以,各位程序员、设计师在进行内容发布之时,一定要有意识地避开这些拥有版权的字体,尽量使用无版权、或者免费的字体来进行商业内容的发布!

有鉴于此,我搜集并撰写了本文,希望可以帮助各位寻找到最优秀、最全面的免版权、可商用字体资源。
这些字体大部分遵循 SIL开源字体授权,除了禁止直接售卖字体之外,字体可作为内嵌或资源进行商业用途!
(部分字体有其他版权协议,请您在各字体的官方网页上进行确认!)

- 阅读全文 -

.NET 4.0框架下的Base64字符转换存在BUG

如果有一个双等号结尾的非法BASE64编码作为参数(如abc==),.NET的 Convert.FromBase64String 函数不仅不会报错,反而还会产生一个意料之外的返回值,对后续程序的执行是一个隐患。
详细资料请参考 https://detunized.net/posts/2019-03-06-base64-decoding-bug-that-is-present-in-all-version-of-.net/

经过我个人的测试,我发现这个BUG仅影响 4.0 以上的版本,反而 2.0~3.5 可以正确发现参数异常,并予以报错。
另外据说最新的 .NET Core 也已经修复了这个BUG,所以请使用 4.0 作为开发框架的童鞋们“注意安全”。

原文给出了一个 .NET 4.7.2 的内部解决方法

// This only works for base64 without spaces or linebreaks.
string Repad(string base64)
{
    var l = base64.Length;
    return l % 4 == 1 && base64[l - 1] == '='
        ? base64.Substring(0, l - 1)
        : base64;
}
不过总觉得哪里有一点不对劲,哈哈~

- 阅读全文 -

將頁面轉換爲繁體

Google Translate

公告

欢迎您光临鄙人的小站,虽然没什么太专业的东西,不过如果本站的文章能让您有所收获、或者仅仅是博您一笑,那么也不枉费我建站的辛苦了!

您可以使用邮件订阅来获得邮件更新提醒。

瞎哔哔

    服务器后台更新,已使用了服务商内置的CDN,缓解最近老是断连的问题。

  • 查看更多...

最新文章

随机文章

最近回复

分类

标签