32진수, 64진수 등.. 진수변환 문제?

ktlsu1231의 이미지

안녕하세요.
32진수나 64진수등으로 일반적은 OCT, HEX, DEC가 아닌
다른 진수들로의 변환은 어떻게 하는 것이 좋은가요?
수가 double 정도로도 커버가 안되는데, 큰 수를 연산하는
Function을 구현한 다음에 해야하나요?

64진수는 영대소문자, 숫자, 특수문자 몇개를 사용하여
구성해보려합니다. 기존 구현된 방법이 있나요?

어떻게 해야 좋을지 상상이 안갑니다. 도와주세요.. :cry:

익명 사용자의 이미지

그냥 만들어 쓰시면 되겠네요.

0-9 : 10개
a-z: 26개
A-Z: 26개

합 62개 이정도면 벌써 62진법을 표현가능하겠군요. 여기에 _, . 정도(운영체제 및 파일명으로 사용할 가능성을 고려하여 파일명에 가능한 문자 채택)를 추가하면 64진법 표기가 가능하겠습니다.

테이블에 위 문자열을 넣고(배열)
아주 옛날에 배운 나머지연산을 잘~ 해서 만드시면 별 무리없어 보이는데요.

배열, 루프, 나머지, 몫 .. 이정도면....

다 만드시면 공개하시고......

ikw3179의 이미지

제어문자를 쓰지 않고 알파벳과 숫자로 64진수를 만들어 보았습니다.
2자리수를 써야 하기에 길이가 가변적이 된다는 문제가 있지만
길이 문제가 없다면 사용해도 무방할 것입니다.

$_64X = array(
 
0 => '0',
1 => '1',
2 => '2',
3 => '3',
4 => 'A',
5 => 'B',
.
.
.
.
54 => 'y',
55 => 'z',
56 => '46',
57 => '47',
58 => '48',
59 => '49',
60 => '56',
61 => '57',
62 => '58',
63 => '59',
 
);

1자리숫자(4개) : 0,1,2,3
알파벳(52개) : A-Z , a-z
2자리숫자(8개) : 46,47,48,49,56,57,58,59
----
4 + 52 + 8 = 64

정규표현식 : /([0-3A-Za-z]|[45][6-9])+/

cppig1995의 이미지

한 자리의 길이가 가변이네요. 정말 흥미로운걸요?

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

cppig1995의 이미지

아니 이분들 이러시면 아니 되옵니다. base64가 있잖습니까? (ㅠㅠ)

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

ikw3179의 이미지

그래도 쓸만한 곳이 있지 않겠습니까?
예를 들어 숫자와 알파벳만으로 입력해야 하는 등의 조건에서 말이죠.

찾아보니 베이스85엔코딩 형식도 있군요. ㅎㅎ
http://tools.web-max.ca/encode_decode.php?y=%C7%D1%B1%DB

아뭏든 이번에 만든 이 엔코딩 형식은
제일 마지막 숫자를 따서 base59라 명명해야 겠군요.

<.)++++<

cppig1995의 이미지

Base85는 Ascii85라고도 하는 PDF에서 사용하는 형식입니다. 4바이트가 5바이트가 되는데, 이게 최상이라죠.
(ASCII printable characters 내에서만 사용하는 경우. yEnc 같은 편법은 빼고)

그나저나 base59라 하시면 59진수가 됩니다. Ascii59 같은 이름을 사용해 보세요.

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.