2011-03-18 84 views
17

我使用标准输入和输出将2个base64字符串从一个应用程序传递到另一个应用程序。将它们分开的最好方法是什么,以便在其他应用程序中将它们作为两个单独的字符串来获取?我用一个简单的逗号,将它们分开思考,然后只用分离两个base64字符串的最佳方法

string[] s = output.Split(',');

其产量,我从标准输出读取的数据。

实施例与逗号:

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCv5E5Y0Wrad5FrLjeUsA71Gipl3mhjIuCw1xhj jDwXN87lIhpE32UvItf + mvp8flQ + fhi5H0PditDCzUFg8lXuiuOXxelLWEXA8hs7jc + 4zzR5ps3R fOv3M6H8K5XGkwWLhVNQX47sAGyY/43JdbfX7 + FsYUFeHW/wa2yKSMZS3wIDAQAB ,HNJpFQyeyJoVbeEgkw/WNtzR0JTPIa1hlK1C8LbFcVcJfL33ssq3gbzi0zxn0n2WxBYKJZj2Kqbs lVrmFbQJRgvq4ZNF4F8z + xjL9RVVE/rk5x243c3Szh05Phzx + IUyXJe6GkITDmsxcwovvzSaGhzU 3qQkNbhIN0fVyynpg0Kfm0WytuW71ku1eq45ibcczgwQLRJX1GKzC9wH7x/V36i6SpyrxZ/+ uCIL 4QgnKt6x4QG7Gfk3Msam6h6JTFdzkeHJ jq6JzeapdQn5LxeMY0jLGc4cadMCvy/Jdrcg02pG2wOO /gJT77xvX + d1igi + BQ/YpFlwXI0BIuRwMAeLojmZdRYjJ + LY69auxgpnQvSF4A + Wc6Jo8m1pzzHB yQvA8KyiRwbyijoBOsg + oK18UPFWeJ5hE3e +8升/ WSEcii + oPgXyXTnK + seesGdOPeem3HukNyIps L/StHZEkzeJFTr8LIB9HLqDikYU2mQjTiK5cIExoyy2Go + 0ndL84rCzMZAlfFlffocL9x + SGyeer M1mxmyDtmiQfDphEZixHOylciKUhWR00dhxkVRQ4Q9LYCeyGfDiewL + rm5se/ePCklWtTGycV9HM H5vYLhgIkf5W6 + XcqcJlE6vp4WWxmKHQYqRAdfW5MYWskx7jBDTMV2MLy7N6gQRQa/OpK8ruAbVf MwWP1sGyhAxgrw/UxTH1tW498WI5JtQR3oub3 + Uj5AqydhwzQtWM58WfVQXdv2bFZmGH7d9A + C95 DQ8QXKrV7Ot/wVq5KKLgpJy8iMe/G/iyXOmQhkLnZ3qvBaIJd + E2ZIVPty6XGMwgC4JebArr + A6V CB/SO + VR + eZmXLln/W ==

回答

24

您只需使用不是有效的Basc64字符的分隔符。 逗号不是base64字符,因此您可以使用。

Base64字符是[0-9a-zA-Z/=+](所有数字,大写,小写,正斜杠加号和等号)。

+3

不要忘记属于base64字符的'+'和'/'。 – 2011-03-18 10:24:30

+0

你是对的!只是检查并添加。 :) – Aliostad 2011-03-18 10:25:51

+0

感谢您的确认,我在正确的轨道上。 – hs2d 2011-03-18 10:34:41

2

这似乎是一个很好的解决方案。逗号不能是base64 index table的一部分,因此它是安全的分隔符。

-2

你可以用一些XML来包装它。 CDATA元素是完美的。

+2

我认为这会有点矫枉过正,但谢谢你的建议! – hs2d 2011-03-18 10:35:17

+1

像[那](http://thedailywtf.com/articles/Oh%2c-XML)?或者像[this](http://thedailywtf.com/articles/Extensible-XML)与[that](http://thedailywtf.com/articles/XMLd-XML)?所有的事情都考虑到了,XML格式的base64 XML格式的base64在XML中听起来像是一种很好的技术... – 2017-04-13 17:56:26

相关问题