用GO语言开发editplus编辑器插件(附源码)

摘要:
我要开发的插件功能极为简单,就是对用户选中的内容进行base64编码或解密工作.其中所涉及的技术部分主要是GO语言程序开发和editplus插件配置的部分,首先我们来看一下GO语言代码的写法,如下:packagemainimport("encoding/base64""fmt""os")const(versionstring="1.0")funcmain(){num:=len(os.Args)if

我要开发的插件功能极为简单,就是对用户选中的内容进行base64编码或解密工作.

其中所涉及的技术部分主要是GO语言程序开发和editplus插件配置的部分,首先我们来看一下GO语言代码的写法,如下:

package main
import (
"encoding/base64"
"fmt"
"os"
)
const (
version string = "1.0"
)
func main() {
num := len(os.Args)
if num < 2 || num > 3 {
fmt.Println("請使用 -h 查看軟件使用方法, Go語言技術QQ群: 195112 ")
return
}
switch os.Args[1] {
case "-a": //encode
data := []byte(os.Args[2])
out := base64.StdEncoding.EncodeToString(data)
fmt.Print(out)
case "-x": //decode
out, err := base64.StdEncoding.DecodeString(os.Args[2])
if err != nil {
fmt.Println("")
return
}
fmt.Printf("%s", out)
case "-v":
fmt.Println("ver:", version)
return
case "-h": //decode
fmt.Println(" 說明:")
fmt.Println("  這個程式由 Seven (http://7di.net) 製作,用來對內容進行 base64 加/解密.")
fmt.Println(" 參數:")
fmt.Println("  -a 對內容加密")
fmt.Println("  -x 對內容解密")
fmt.Println("  -v 軟件版本")
fmt.Println("  -h 使用幫助")
fmt.Println(" 用法:")
fmt.Println("  加密: base64.exe -a 要加密的內容")
fmt.Println("  解密: base64.exe -x 要解密的內容")
fmt.Println(" 交流:")
fmt.Println("  Go語言技術QQ群: 195112")
return
default:
fmt.Println("請使用 -h 查看軟件使用方法, Go語言技術QQ群: 195112 ")
return
}
}

原理是执行编译好的exe文件时同时传递三个参数进来,然后用os.Args接收,接收之后要判断参数的数量,我们允许传递一个或两个参数进来,如果小于两个或大于三个参数则出错

两个参数是为了应付-h查看使用帮助或-v显示版本号,三个参数则是为了处理加密或解密工作.

我们把上边的代码存成.go文件,然后编译成.exe文件,最后把mail.exe改成base64.exe,并把base64.exe复制到editplus的stx目录下,并对editplus进行相应的配置,配制方法如下:

用GO语言开发editplus编辑器插件(附源码)第1张

希望此为能起到抛砖引玉的功能,对大家开发插件能够有所帮助.

Go語言技術QQ群: 195112

免责声明:文章转载自《用GO语言开发editplus编辑器插件(附源码)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.Net Core 认证系统之基于Identity Server4 Token的JwtToken认证源码解析二进制协议gob及msgpack介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

各种媒体数据以 base64 编码方式直接嵌入网页中的写法

png 图片: wav 文件: 或: 更多格式: 123 application/vnd.lotus-1-2-3 3gp video/3gpp aab application/x-authoware-bin aam application/x-authoware-map aas application/x-authoware-seg ai app...

kindEditor富文本编辑器

用法参考:http://kindeditor.net/docs/usage.html  一、使用 . 修改HTML页面 在需要显示编辑器的位置添加textarea输入框。 <textarea id="editor_id" name="content" style="700px;height:300px;"> &lt;strong&am...

PHP的加密方法汇总

PHP的加密主要有4种方法,除此之外还有一种是URL的加密和解密。希望可以对你们开发有用。 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。  笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2  ...

GO程序设计1——快速入门

1.GO语言开发环境搭建                                             1.1编译环境安装 点击链接http://code.google.com/p/go/downloads/list 选择一个版本,本人下载的是go1.0.3.windows-386.msi 双击安装,选择安装一个安装主目录:例如,C:\Go,不需...

canvas遇到的一些问题

1、移动端无法全屏问题 问题描述:由于canvas的width和height只能设置px值,不支持rem单位,所以想在移动设备屏幕分辨率繁杂的情况下达到canvas铺满全屏的效果很困难。   解决方法:通过js获取到手机屏幕的clientWidth值,赋给canvas,以此来达到适配全屏的效果; 1 2 3 4 5 varclientWidth...

ueditor编辑器图片自定义存放目录及路径修改

百度编辑器ueditor功能强大,很多人士以应用项目开发中,但是里面有一个公众的问题就是上传图片存放目录太深,默认是ueditor/php/upload下,前不久测试后图片存放目录可以改变,但是路径会出现问题。现分享下图片自定义存放目录和路径,我最后的图片存放是www.**.com/image/ 20131113/13843284986865.png。 首...