标签:args 转换 string bs64 tt base64 func 字符串
package test import ( "encoding/base64" "io" "os" "regexp" "strings" ) // data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAAjCAYAAADMibkBAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAO0SURBVGhD7ZjNS1RRGMb7jiDaRYuiaFcQ0aJFmygmWrbwT2gVMYsWQYsWLYJaziJsRk3zozKLamhAlIoQog8SmShBTYjUYgwUQ5RMx3l7nvueo+Nt7nxcZ2Rq5oGXe77n/s577nvOmXVSoaqCV5qq4JWmKnilyT94alGfo89E7u4R+RLVfCqlzzLX6sF7zot0YJiuGs0vmvIylz9w69XZcZH2gyJN60Va9opMj2j5P+D11YFzmTcCOrJFpGGDyECzli8u6LOM5X+pU68uKHj9NpFmDPXyrPkE1tLjCYkFAxKMJUzeKi6hQEBCcZN1yRucAKmktyV/i7Ttg7cBfnMjnhiqFfmZb/A46+cz97OxoWjyAE8kUKPwgWAM6ZXy7/HvPSJhQtOwzMOb8K1juK+dpsFaycvjy4qH3PCJLOBTQ/oNj71QG32uNgYb6RaJnRapM9CED8PrDXhGT2r9ij5mDJZPDZofKFyJWFAC9GABlmlCOI43eCui9C1UcwnXweqNMc1yph1v09LSLGe9u08Ydht27wB2A2/vFC4vj3uUx0POhOBNPPTuMl54s75wZKt6lEYPR7CsnTTqlqBtOq3emtMfdQ0of3NJZOGX+ZFiKDu4O7jF4e0gCvE2WcTTGAOY43lOglnWS0bQTE9jbB9GP/Zv2y0ydMcMXEx5gfuO6mZL+jks0nkG2xahYA48nxbUbabcThKhn54SmezX8YquYoNTduvh1tV3zXjdQNUS0sNq6W2T5iczP6PjcJvzKScym4Dly1xbGt4sh9L33ZEueHCHett6/i9DeQTWuF1k+KHpCBV9/7by8viy3NtZ9qjupY7DADOAGcERzBjJ76Pd3JT2KRk0lSe4WfO6cgoFnxpApEeEJiCXswNK7zPC2zwmhPkmnN/H32q/MgK3yg/cvnjf9TRvE9QsebunLwU+c4rrvar9Sqpc4FrvD9y5dMCiJ/RSQjB7PqfxaspgxoOK43EYT3UPjqBbqS8sOcATMQkiuLmje25w+8fC5Cd4cSdACY7oTi83IdD1h3ExGRMZbMENDfXcvpyJYTtMzsQH7V8yucDNyWyFZdjTcoMnzd364w0cOQFCKMI9Oiryo1frrCYwOdHjOKERnl5H+/dXtK5k/8zk/sYzKTc4lZwT6a4RaUFzerznHPbmaa3j92+NYtvXF7EisCrY/vExPaKWbMkXCq4Hm/zA52dFnsCTbbtEPrebQsgNk57ncbdjP+zQ8gGmjJQf+H+oKnilqQpeaapQcJE/hAXwinS1D/AAAAAASUVORK5CYII= func chkBs64ImgStr(str string) bool { r := "^data:image/(png|jpg|jpeg){1};base64,[0-9a-zA-Z+/=]+=$" b, err := regexp.MatchString(r, str) if err != nil { return false } return b } func base64Img2File(bs64 string) { if !chkBs64ImgStr(bs64) { return } i := strings.Index(bs64, ",") dec := base64.NewDecoder(base64.StdEncoding, strings.NewReader(bs64[i+1:])) fn := func() string { l := strings.Split(bs64, ";") ll := strings.Split(l[0], "/") return ll[1] }() bs, err := io.ReadAll(dec) if err != nil { panic(err) } os.WriteFile("t."+fn, bs, 0777) } package test import ( "testing" ) func Test_chkBs64ImgStr(t *testing.T) { type args struct { str string } s1 := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAAjCAYAAADMibkBAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAO0SURBVGhD7ZjNS1RRGMb7jiDaRYuiaFcQ0aJFmygmWrbwT2gVMYsWQYsWLYJaziJsRk3zozKLamhAlIoQog8SmShBTYjUYgwUQ5RMx3l7nvueo+Nt7nxcZ2Rq5oGXe77n/s577nvOmXVSoaqCV5qq4JWmKnilyT94alGfo89E7u4R+RLVfCqlzzLX6sF7zot0YJiuGs0vmvIylz9w69XZcZH2gyJN60Va9opMj2j5P+D11YFzmTcCOrJFpGGDyECzli8u6LOM5X+pU68uKHj9NpFmDPXyrPkE1tLjCYkFAxKMJUzeKi6hQEBCcZN1yRucAKmktyV/i7Ttg7cBfnMjnhiqFfmZb/A46+cz97OxoWjyAE8kUKPwgWAM6ZXy7/HvPSJhQtOwzMOb8K1juK+dpsFaycvjy4qH3PCJLOBTQ/oNj71QG32uNgYb6RaJnRapM9CED8PrDXhGT2r9ij5mDJZPDZofKFyJWFAC9GABlmlCOI43eCui9C1UcwnXweqNMc1yph1v09LSLGe9u08Ydht27wB2A2/vFC4vj3uUx0POhOBNPPTuMl54s75wZKt6lEYPR7CsnTTqlqBtOq3emtMfdQ0of3NJZOGX+ZFiKDu4O7jF4e0gCvE2WcTTGAOY43lOglnWS0bQTE9jbB9GP/Zv2y0ydMcMXEx5gfuO6mZL+jks0nkG2xahYA48nxbUbabcThKhn54SmezX8YquYoNTduvh1tV3zXjdQNUS0sNq6W2T5iczP6PjcJvzKScym4Dly1xbGt4sh9L33ZEueHCHett6/i9DeQTWuF1k+KHpCBV9/7by8viy3NtZ9qjupY7DADOAGcERzBjJ76Pd3JT2KRk0lSe4WfO6cgoFnxpApEeEJiCXswNK7zPC2zwmhPkmnN/H32q/MgK3yg/cvnjf9TRvE9QsebunLwU+c4rrvar9Sqpc4FrvD9y5dMCiJ/RSQjB7PqfxaspgxoOK43EYT3UPjqBbqS8sOcATMQkiuLmje25w+8fC5Cd4cSdACY7oTi83IdD1h3ExGRMZbMENDfXcvpyJYTtMzsQH7V8yucDNyWyFZdjTcoMnzd364w0cOQFCKMI9Oiryo1frrCYwOdHjOKERnl5H+/dXtK5k/8zk/sYzKTc4lZwT6a4RaUFzerznHPbmaa3j92+NYtvXF7EisCrY/vExPaKWbMkXCq4Hm/zA52dFnsCTbbtEPrebQsgNk57ncbdjP+zQ8gGmjJQf+H+oKnilqQpeaapQcJE/hAXwinS1D/AAAAAASUVORK5CYII=" tests := []struct { name string args args want bool }{ // TODO: Add test cases. {name: "1", args: args{str: s1}, want: false}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := chkBs64ImgStr(tt.args.str); got != tt.want { t.Errorf("chkBs64ImgStr() = %v, want %v", got, tt.want) } }) } } func Test_base64Img2File(t *testing.T) { type args struct { bs64 string } s1 := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAAjCAYAAADMibkBAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAO0SURBVGhD7ZjNS1RRGMb7jiDaRYuiaFcQ0aJFmygmWrbwT2gVMYsWQYsWLYJaziJsRk3zozKLamhAlIoQog8SmShBTYjUYgwUQ5RMx3l7nvueo+Nt7nxcZ2Rq5oGXe77n/s577nvOmXVSoaqCV5qq4JWmKnilyT94alGfo89E7u4R+RLVfCqlzzLX6sF7zot0YJiuGs0vmvIylz9w69XZcZH2gyJN60Va9opMj2j5P+D11YFzmTcCOrJFpGGDyECzli8u6LOM5X+pU68uKHj9NpFmDPXyrPkE1tLjCYkFAxKMJUzeKi6hQEBCcZN1yRucAKmktyV/i7Ttg7cBfnMjnhiqFfmZb/A46+cz97OxoWjyAE8kUKPwgWAM6ZXy7/HvPSJhQtOwzMOb8K1juK+dpsFaycvjy4qH3PCJLOBTQ/oNj71QG32uNgYb6RaJnRapM9CED8PrDXhGT2r9ij5mDJZPDZofKFyJWFAC9GABlmlCOI43eCui9C1UcwnXweqNMc1yph1v09LSLGe9u08Ydht27wB2A2/vFC4vj3uUx0POhOBNPPTuMl54s75wZKt6lEYPR7CsnTTqlqBtOq3emtMfdQ0of3NJZOGX+ZFiKDu4O7jF4e0gCvE2WcTTGAOY43lOglnWS0bQTE9jbB9GP/Zv2y0ydMcMXEx5gfuO6mZL+jks0nkG2xahYA48nxbUbabcThKhn54SmezX8YquYoNTduvh1tV3zXjdQNUS0sNq6W2T5iczP6PjcJvzKScym4Dly1xbGt4sh9L33ZEueHCHett6/i9DeQTWuF1k+KHpCBV9/7by8viy3NtZ9qjupY7DADOAGcERzBjJ76Pd3JT2KRk0lSe4WfO6cgoFnxpApEeEJiCXswNK7zPC2zwmhPkmnN/H32q/MgK3yg/cvnjf9TRvE9QsebunLwU+c4rrvar9Sqpc4FrvD9y5dMCiJ/RSQjB7PqfxaspgxoOK43EYT3UPjqBbqS8sOcATMQkiuLmje25w+8fC5Cd4cSdACY7oTi83IdD1h3ExGRMZbMENDfXcvpyJYTtMzsQH7V8yucDNyWyFZdjTcoMnzd364w0cOQFCKMI9Oiryo1frrCYwOdHjOKERnl5H+/dXtK5k/8zk/sYzKTc4lZwT6a4RaUFzerznHPbmaa3j92+NYtvXF7EisCrY/vExPaKWbMkXCq4Hm/zA52dFnsCTbbtEPrebQsgNk57ncbdjP+zQ8gGmjJQf+H+oKnilqQpeaapQcJE/hAXwinS1D/AAAAAASUVORK5CYII=" tests := []struct { name string args args }{ // TODO: Add test cases. {name: "1", args: args{bs64: s1}}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { base64Img2File(tt.args.bs64) }) } }
标签:args,转换,string,bs64,tt,base64,func,字符串 来源: https://www.cnblogs.com/rsapaper/p/15969152.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。