Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

excise Base64 stuff from Base #24222

Closed
StefanKarpinski opened this issue Oct 19, 2017 · 6 comments
Closed

excise Base64 stuff from Base #24222

StefanKarpinski opened this issue Oct 19, 2017 · 6 comments
Labels
excision Removal of code from Base or the repository
Milestone

Comments

@StefanKarpinski
Copy link
Member

Base64 would be fine in the standard library, but should really not stay in Base.

@StefanKarpinski StefanKarpinski added excision Removal of code from Base or the repository triage This should be discussed on a triage call labels Oct 19, 2017
@stevengj
Copy link
Member

stevengj commented Oct 19, 2017

The stringmime function (used in ~25 registered packages) will have to be moved, too.

Many of the uses of stringmime in packages seem to be for text data, and can be deprecated to reprmime. The remaining cases (Atom, Escher, IJulia, Images, Interact, Jewel), which require base64 encoding of binary data, can use Base64.stringmime.

@bicycle1885
Copy link
Member

bicycle1885 commented Oct 21, 2017

I've made a faster base64 encoder with the same interfaces of Base. The performance improvement is more than 10 times and it would be good to move it to the standard library (the code is here: https://gist.github.com/bicycle1885/f3db61e15ba08b291435bb3e2b2b67c5).

I guess the best way to deprecate the current base64 tools is to keep them as is, deprecate them, and create a new module under the stdlib directory, right?

@StefanKarpinski
Copy link
Member Author

StefanKarpinski commented Oct 26, 2017

Also note that there a a number of different Base64 variants and this only implements one of them. Stranger than baking one particular data encoding into the base language is picking one particular variant of one particular data encoding and baking just that into the base language.

@StefanKarpinski StefanKarpinski removed the triage This should be discussed on a triage call label Oct 26, 2017
@StefanKarpinski StefanKarpinski added this to the 1.0 milestone Oct 26, 2017
@StefanKarpinski StefanKarpinski added the help wanted Indicates that a maintainer wants help on an issue or pull request label Oct 26, 2017
@aviks
Copy link
Member

aviks commented Oct 26, 2017

I recently needed a base32{encode|decode} function. Found it hidden inside some other package. Would be good to get them together with base64 somewhere.

@bicycle1885
Copy link
Member

I've made a Base32 encoder/decoder in CodecBase.jl, so it is trivial to implement those functions.

@JeffBezanson JeffBezanson removed the help wanted Indicates that a maintainer wants help on an issue or pull request label Oct 27, 2017
@JeffBezanson
Copy link
Member

closed by #24361

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
excision Removal of code from Base or the repository
Projects
None yet
Development

No branches or pull requests

5 participants