How to remove 'rn' from Base64 string in oracle?
I have created the following function in Oracle to convert my string to BASE64 and I am getting a new line after 64 characters. The function is as below
function to_base64(t in varchar2) return varchar2 is
begin
return utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t)));
end to_base64;
My input is tobase64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
and output I am getting is as follows where new line is added after 64 characters.
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4
YzdlOWM1NDVkMjk0MmFhODU3Ng==
Can someone suggest how can I remove the new line or any change required in the function?
database oracle plsql base64
add a comment |
I have created the following function in Oracle to convert my string to BASE64 and I am getting a new line after 64 characters. The function is as below
function to_base64(t in varchar2) return varchar2 is
begin
return utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t)));
end to_base64;
My input is tobase64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
and output I am getting is as follows where new line is added after 64 characters.
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4
YzdlOWM1NDVkMjk0MmFhODU3Ng==
Can someone suggest how can I remove the new line or any change required in the function?
database oracle plsql base64
add a comment |
I have created the following function in Oracle to convert my string to BASE64 and I am getting a new line after 64 characters. The function is as below
function to_base64(t in varchar2) return varchar2 is
begin
return utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t)));
end to_base64;
My input is tobase64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
and output I am getting is as follows where new line is added after 64 characters.
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4
YzdlOWM1NDVkMjk0MmFhODU3Ng==
Can someone suggest how can I remove the new line or any change required in the function?
database oracle plsql base64
I have created the following function in Oracle to convert my string to BASE64 and I am getting a new line after 64 characters. The function is as below
function to_base64(t in varchar2) return varchar2 is
begin
return utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t)));
end to_base64;
My input is tobase64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
and output I am getting is as follows where new line is added after 64 characters.
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4
YzdlOWM1NDVkMjk0MmFhODU3Ng==
Can someone suggest how can I remove the new line or any change required in the function?
database oracle plsql base64
database oracle plsql base64
asked Nov 15 '18 at 11:01
Kinjan BhavsarKinjan Bhavsar
6451344
6451344
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can use replace()
to remove the two characters individually:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(10)),
chr(13)
);
end to_base64;
or as a pair:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(13)||chr(10)
);
end to_base64;
and then either way
select to_base64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
from dual;
gives the result on a single line:
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4YzdlOWM1NDVkMjk0MmFhODU3Ng==
But it's common for base64 values to include them, and decoding should ignore them anyway.
Thanks. It worked like a charm!. But only this is the solution just replacing?
– Kinjan Bhavsar
Nov 15 '18 at 12:29
You could use translate instead of replace. But there doesn't seem to be any way to prevent the newlines being added in the first place, if that's what you're really after.
– Alex Poole
Nov 15 '18 at 12:31
Why is it common for them to include them? Can you point to a doc which explains it?
– Jimenemex
Dec 7 '18 at 22:00
Well, the MIME encoding says it "must be represented in lines of no more than 76 characters each". SSL certificates etc. tend to be generated with line breaks too. Not sure why, other than for readability.
– Alex Poole
Dec 7 '18 at 22:27
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53317985%2fhow-to-remove-r-n-from-base64-string-in-oracle%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use replace()
to remove the two characters individually:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(10)),
chr(13)
);
end to_base64;
or as a pair:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(13)||chr(10)
);
end to_base64;
and then either way
select to_base64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
from dual;
gives the result on a single line:
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4YzdlOWM1NDVkMjk0MmFhODU3Ng==
But it's common for base64 values to include them, and decoding should ignore them anyway.
Thanks. It worked like a charm!. But only this is the solution just replacing?
– Kinjan Bhavsar
Nov 15 '18 at 12:29
You could use translate instead of replace. But there doesn't seem to be any way to prevent the newlines being added in the first place, if that's what you're really after.
– Alex Poole
Nov 15 '18 at 12:31
Why is it common for them to include them? Can you point to a doc which explains it?
– Jimenemex
Dec 7 '18 at 22:00
Well, the MIME encoding says it "must be represented in lines of no more than 76 characters each". SSL certificates etc. tend to be generated with line breaks too. Not sure why, other than for readability.
– Alex Poole
Dec 7 '18 at 22:27
add a comment |
You can use replace()
to remove the two characters individually:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(10)),
chr(13)
);
end to_base64;
or as a pair:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(13)||chr(10)
);
end to_base64;
and then either way
select to_base64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
from dual;
gives the result on a single line:
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4YzdlOWM1NDVkMjk0MmFhODU3Ng==
But it's common for base64 values to include them, and decoding should ignore them anyway.
Thanks. It worked like a charm!. But only this is the solution just replacing?
– Kinjan Bhavsar
Nov 15 '18 at 12:29
You could use translate instead of replace. But there doesn't seem to be any way to prevent the newlines being added in the first place, if that's what you're really after.
– Alex Poole
Nov 15 '18 at 12:31
Why is it common for them to include them? Can you point to a doc which explains it?
– Jimenemex
Dec 7 '18 at 22:00
Well, the MIME encoding says it "must be represented in lines of no more than 76 characters each". SSL certificates etc. tend to be generated with line breaks too. Not sure why, other than for readability.
– Alex Poole
Dec 7 '18 at 22:27
add a comment |
You can use replace()
to remove the two characters individually:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(10)),
chr(13)
);
end to_base64;
or as a pair:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(13)||chr(10)
);
end to_base64;
and then either way
select to_base64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
from dual;
gives the result on a single line:
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4YzdlOWM1NDVkMjk0MmFhODU3Ng==
But it's common for base64 values to include them, and decoding should ignore them anyway.
You can use replace()
to remove the two characters individually:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(10)),
chr(13)
);
end to_base64;
or as a pair:
function to_base64(t in varchar2) return varchar2 is
begin
return replace(
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(t))),
chr(13)||chr(10)
);
end to_base64;
and then either way
select to_base64('ACae23b41949dbcfa8cd2c8b114bb81af4:909f2edb3e9b8c7e9c545d2942aa8576')
from dual;
gives the result on a single line:
QUNhZTIzYjQxOTQ5ZGJjZmE4Y2QyYzhiMTE0YmI4MWFmNDo5MDlmMmVkYjNlOWI4YzdlOWM1NDVkMjk0MmFhODU3Ng==
But it's common for base64 values to include them, and decoding should ignore them anyway.
answered Nov 15 '18 at 11:36
Alex PooleAlex Poole
133k6106179
133k6106179
Thanks. It worked like a charm!. But only this is the solution just replacing?
– Kinjan Bhavsar
Nov 15 '18 at 12:29
You could use translate instead of replace. But there doesn't seem to be any way to prevent the newlines being added in the first place, if that's what you're really after.
– Alex Poole
Nov 15 '18 at 12:31
Why is it common for them to include them? Can you point to a doc which explains it?
– Jimenemex
Dec 7 '18 at 22:00
Well, the MIME encoding says it "must be represented in lines of no more than 76 characters each". SSL certificates etc. tend to be generated with line breaks too. Not sure why, other than for readability.
– Alex Poole
Dec 7 '18 at 22:27
add a comment |
Thanks. It worked like a charm!. But only this is the solution just replacing?
– Kinjan Bhavsar
Nov 15 '18 at 12:29
You could use translate instead of replace. But there doesn't seem to be any way to prevent the newlines being added in the first place, if that's what you're really after.
– Alex Poole
Nov 15 '18 at 12:31
Why is it common for them to include them? Can you point to a doc which explains it?
– Jimenemex
Dec 7 '18 at 22:00
Well, the MIME encoding says it "must be represented in lines of no more than 76 characters each". SSL certificates etc. tend to be generated with line breaks too. Not sure why, other than for readability.
– Alex Poole
Dec 7 '18 at 22:27
Thanks. It worked like a charm!. But only this is the solution just replacing?
– Kinjan Bhavsar
Nov 15 '18 at 12:29
Thanks. It worked like a charm!. But only this is the solution just replacing?
– Kinjan Bhavsar
Nov 15 '18 at 12:29
You could use translate instead of replace. But there doesn't seem to be any way to prevent the newlines being added in the first place, if that's what you're really after.
– Alex Poole
Nov 15 '18 at 12:31
You could use translate instead of replace. But there doesn't seem to be any way to prevent the newlines being added in the first place, if that's what you're really after.
– Alex Poole
Nov 15 '18 at 12:31
Why is it common for them to include them? Can you point to a doc which explains it?
– Jimenemex
Dec 7 '18 at 22:00
Why is it common for them to include them? Can you point to a doc which explains it?
– Jimenemex
Dec 7 '18 at 22:00
Well, the MIME encoding says it "must be represented in lines of no more than 76 characters each". SSL certificates etc. tend to be generated with line breaks too. Not sure why, other than for readability.
– Alex Poole
Dec 7 '18 at 22:27
Well, the MIME encoding says it "must be represented in lines of no more than 76 characters each". SSL certificates etc. tend to be generated with line breaks too. Not sure why, other than for readability.
– Alex Poole
Dec 7 '18 at 22:27
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53317985%2fhow-to-remove-r-n-from-base64-string-in-oracle%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown