c#으로 숫자데이터를 변환한 자료인데 다시 숫자로 바꾸려면 어떻게 해야할까요?

c#으로 숫자데이터를 변환한 자료인데 다시 숫자로 바꾸려면 어떻게 해야할까요?

조언 부탁드립니다~

20220228_103803

1개의 좋아요
  1. 어떤 숫자 데이터를 말씀 하시나요? 혹시 바이너리 데이터인가요?
  2. 어떤 목적인지도 알 수 있을까요?
  3. 저렇게 변환된 소스코드가 있다면 아래와 같이 핵심 소스코드를 첨부 가능할까요?

```csharp
코드
```

1개의 좋아요

숫자를 그대로 바이너리로 저장한거 아닌가요?
최소한의 소스도 중요하지만 이런류의 질문에서는 당연히 원본데이터와 변환된 데이터는 올려 주셔야죠.

2개의 좋아요

일단 올려주신 질문을 토대로 나름의 답변을 드려보겠습니다. 다만, 부정확한 답변이 될 수 밖에 없음을 양지해주시기 바랍니다.

유추해보면, 임의의 byte array로 난수로 구성된 숫자 데이터를 System.Text.Encoding 클래스의 인코딩한 결과값을 올려주신 것 같습니다.

Encoding.GetStringbyte[]를 입력으로 받아서 인코딩 규칙에 맞게 문자열로 만들어주는 API이고, 이 API를 사용하면 그림과 같은 형태로 텍스트 파일을 만들 수 있게 됩니다.

역으로 문자열을 byte[] 타입으로 다시 디코딩하는 것은 Encoding.GetBytes API를 사용하면 할 수 있습니다.

지금 어려움을 겪고 계시는 것이 잘못된 인코딩으로 인해서 문자열이 깨진 것을 복원하기 위함이라고 하시면, 기술적으로 이는 해결이 쉽지 않으며, 관습적으로, 그리고 통상적으로 시도해볼 수 있는 몇 번의 Trial and Error를 통해 원래 문자열이 무엇인지 찾아가는 과정을 수동으로 시도해볼 수는 있을 것 같습니다.

Detect the encoding of a text file using C# - Stack Overflow 의 내용을 참고하시면 도움이 될 것 같습니다.

덧 1. '질문 글을 올리기 전 꼭 읽어주세요’는 질문하시려는 내용과는 무관한 저희가 제안해드리는 가이드 문자열인것 같은데 지우지 않고 올리셨네요~ 다른 분들을 위해서 이 부분은 지워드리겠습니다.

덧 2. 단순히 현상만 이야기를 하시면 도움을 받기 어렵습니다. 다른 분들의 말씀처럼 문제가 되는 코드, 하고 싶은 일의 목적을 말씀해주셔야 합니다. 이렇게 질문을 올리시면 단순히 "대신 코딩해주세요"를 요청하는 것과 다르지 않습니다.

2개의 좋아요

처음등록해서 미숙하네요 답변감사합니다.

다음과 같이 되어있습니다.

private bool MakePointInput()
{
    string str1 = Application.StartupPath + "\\result";
    string Ydata = string.Empty;
    string str2 = "";
    string str3 = "";

    if (File.Exists(Application.StartupPath + "\\result\\123.PFL"))
    {
        File.Delete(Application.StartupPath + "\\result\\123.PFL");
    }
    if (File.Exists(Application.StartupPath + "\\result\\123.SFC"))
    {
        File.Delete(Application.StartupPath + "\\result\\123SFC");
    }
    {
        File.Copy(this.My_data.PFL, Application.StartupPath + "\\result\\123.PFL", true);
        File.Copy(this.My_data.SFC, Application.StartupPath + "\\result\\123.SFC", true);
    }
    else 
    {

    }
}
2개의 좋아요

올려주신 코드에는 파일을 복사만 하고 있을 뿐, 원본 파일이 어떻게 구성되어 있는지는 나타나있지 않습니다.
그렇기 때문에 이 코드로는 원래 어떤 데이터를 어떻게 바뀌었는지를 알 수가 없으므로 답변할 수 없을 것 같습니다.

혹시 파일 생성 부분을 한 번 확인해보시겠어요?

2개의 좋아요
  1. 원래 더블클릭하면 열리던 문서였는데 갑자기 첨부된 화면처럼 보인다? -------> 랜섬웨어
  2. PFL, SFC와 같은 확장자의 파일을 여는 프로그램이 삭제되었거나 연결이 잘못되어 있을 경우
    --------> 기존에 실행된 프로그램을 실행 후 저 파일을 직접 '열기’하여 열어보기
  3. 저 파일을 다른 PC에서 열어서 정상적으로 보이는지 확인

글 작성하신분은 컴퓨터에 대해 잘 모르시는거 같은데 근처 PC 수리점에서 문의하세요.

도움을 받으시려면 @rkttu 님의 말씀처럼

질문자는 답변자가 질문자의 의도를 파악하고 도움을 드릴 수 있는 최소한의 정보를 제공해야 합니다. 그렇지 않으면 커뮤니티에 훌륭한 분들이 계심에도 불구하고 도움을 받을 수 없습니다.

한마디로 질문의 요점을 파악할 수 없기 때문인데요, 추가적으로 제공하신 소스코드는 핵심코드가 아닙니다. @level120 님이 말씀하신 것 처럼 단지 PFL, SFC파일을 특정 위치로 복사할 뿐입니다.

아마도 복사된 PFL, SFC파일을 그냥 메모장으로 열었고 해독할 수 없는 이상한 글자 (데이터가 텍스트 형태가 아닌 바이너리 형태로 저장되었을 경우 이렇게 보입니다.)로 보여지고 이것을 해독하는 방법에 대해 여쭤 보신것 같습니다. 질문에 구체적인 내용이 없을 경우 어쩔 수 없이 이렇게 유추할 수 밖에 없습니다.

맞나요? 이것도 이후의 그나마 약간의 힌트가 될 코드를 공유 주셨기 때문에 유추할 뿐입니다.

그렇다면 @anon18360711 님이 말씀하신 것 처럼,

이 말씀이 사실은 취합된 정보에서 어쩌면 가장 정확한 답변일지도 모릅니다.

파일이 제대로 열리지 않는다가 정말 질문의 목적이라면 @Procyon님의 답변이 맞습니다.

만약 저 바이너리 데이터를 볼 수 있도록 어떻게 코딩으로 변환하느냐?를 여쭈신 것이라면,

PFL, SFC 파일 포멧을 눈으로 볼 수 있는 형태로 변환하는 라이브러리가 만약 있다면 그 라이브러리를 사용하셔야 하고, 혹시 귀사에서 만든 포멧이라면 변환하는 소스코드를 찾으셔서 변환코드를 작성해 확인하셔야 합니다.

1개의 좋아요

안녕하세요. 지난번에도 저희 포럼의 행동강령을 말씀드렸는데 계속 비난하는 어조로 커뮤니케이션을 이어가시는 듯 합니다.

다시한번 다른 분을 배려하는 커뮤니케이션을 부탁드립니다.

1개의 좋아요

불편하다고 하시니 그냥 탈퇴하는게 낫겠네요.