[SQLiteFunction(Name = "Base64", Arguments = 1, FuncType = FunctionType.Scalar)]
class Base64SQLite : SQLiteFunction
{
public override object Invoke(object[] args)
{
// assumes args[0] is a string, but you can handle binary data too
var bytes = Encoding.UTF8.GetBytes(Convert.ToString(args[0]));
return Convert.ToBase64String(bytes);
}
}
2条答案
按热度按时间j0pj023g1#
System.Data.SQLite支持. NET中的自定义函数如果您使用的其他 Package 器不能做到这一点,请更改 Package 器。最新版本在这里:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
它曾经在这里,但现在是主要SQLite项目的一部分:
http://sqlite.phxsoftware.com/
示例:
如果要对这些数据进行大量搜索,尤其是通配符搜索,那么最好缓存数据(使用触发器)并将其放入FTS索引中。
kmbjn2e32#
在所有编码和解码算法中,SQLite仅支持十六进制(
hex
)。但是您可以使用sqlean-crypto扩展添加Base64编码/解码函数。
例如:
该扩展还支持其他算法,如Base 32,Base 85和URL-encode。